[résolu][MySQL] Sélection groupée et comptage

WRInaute occasionnel
Bonjour,

Je voudrais savoir s'il est possible de compter seulement suivant l'utilisateur.

Voici la table :
Code:
CREATE TABLE utilis_niveau (
  num_utilisateur int(6) NOT NULL,
  num_niveau smallint(3) NOT NULL,
  nb_enigmes_rep int(5) NOT NULL,
  PRIMARY KEY  (num_utilisateur,num_niveau)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

Code:
SELECT num_utilisateur, (num_niveau*nb_enigmes_rep) as pts FROM utilis_niveau ORDER BY (num_niveau*nb_enigmes_rep) DESC

Je voudrais améliorer cette requête afin que pts soit l'ensemble des points de l'utilisateur. J'ai essayé le group by num_utilisateur mais ça ne me donne que le premier niveau.

Exemple de ce que je veux :

utilis |pts
1 |120
5 |118
2 |110
...

ce que j'ai pour l'instant parce que le groupement se fait par utilisateur ET par niveau:

utilis |pts
1 |60
1 |40
1 |20
5 |70
5 |48
2 |50
2 |60
...

Merci par avance de vos lumières!
 
WRInaute impliqué
Code:
SELECT num_utilisateur, sum(num_niveau*nb_enigmes_rep) as pts FROM utilis_niveau GROUP BY num_utilisateur ORDER BY sum(num_niveau*nb_enigmes_rep) DESC
?
 
WRInaute accro
Mon pti grin de sel :mrgreen:

Je me demande si avec un ORDER BY pts DESC à la place de ORDER BY sum(num_niveau*nb_enigmes_rep) DESC , ça lui éviterait pas de faire 2x le même calcul ? Je suis pas sure du tout mais ça semble plus logique en tout cas.
 
WRInaute occasionnel
Bien vu! Je sais pas si ça joue beaucoup et je n'ai pas trop de visites pour l'instant mais comme tout le monde, j'espère en avoir des millions d'ici la fin de l'année :lol: :lol: :lol:
 
WRInaute impliqué
YoyoS a dit:
Je me demande si avec un ORDER BY pts DESC à la place de ORDER BY sum(num_niveau*nb_enigmes_rep) DESC , ça lui éviterait pas de faire 2x le même calcul ? Je suis pas sure du tout mais ça semble plus logique en tout cas.
logique pas sûr, moins source d'erreur oui sans aucun doute :)
en tout cas le explain donne le même plan d'exécution, mysql c'est pas access version 1.0 ;-)
 
Discussions similaires
Haut