fonctionnement d'un group by - SQL/NoSQL - Programmation
Marsh Posté le 12-10-2011 à 14:06:00
En premier lieu, il va chercher les données, et en second lieu, il va faire les regroupements et le calcul des moyennes.
(N.B. Mettre une majuscule à la première lettre des phrases est un vieil usage qui est recommandé, car ça facilite la lecture.
Quand on montre des lignes de codes sur un forum, on peut utiliser des balises pour que ce code apparaisse dans un joli cadre. Par exemple, ici, il existe les balises [Fixed]...[/Fixed ] que l'on peut utiliser en les écrivant directement dans le message ou en les insérant en cliquant sur l'icone "Fixe" au dessus du champ d'édition du message.)
Marsh Posté le 12-10-2011 à 15:05:38
Donc il va d'abord faire le select
et ensuite faire les calculs appropriés dans chaque groupe.
Si par exemple je rajoute
having(note) > 12 |
il va faire la moyenne que pour les notes qui sont supérieur à 12
et ceci dans chaque groupe nom+prenom.
Marsh Posté le 12-10-2011 à 15:12:23
je pense pas, dans le select, c'est pas note que t'as, mais avg(note). Si tu veux faire la moyenne que sur les notes > 12, faut mettre cette condition dans le where.
Par contre, en faisant
Code :
|
Là, t'auras que les moyennes > 12.
Marsh Posté le 12-10-2011 à 15:33:34
rufo a écrit :
|
Attention si c'est du Oracle, tu peux pas utiliser d'alias dans la clause HAVING, faut plutot faire ca:
Code :
|
Marsh Posté le 12-10-2011 à 15:54:40
J'ai l'impression qu'avec cette synthaxe,
il va dans chaque groupe faire la moyenne
et le having va me sortir seulement les groupes qui ont une moyenne > 12.
Et non me faire la moyenne que pour les notes qui sont > 12.
Je pense que pour cela il faut que je rajoute un
Citation : where note > 12 |
tout simplement ?
Marsh Posté le 12-10-2011 à 16:20:00
c'est ce que j'ai dit dans mon précédent post. Si tu veux faire la moyenne que sur des notes > 12, faut mettre la condition dans le where...
Marsh Posté le 12-10-2011 à 11:54:41
Salut,
J'aurai aimé savoir comment fonctionne un group by,
pour être plus clair j'ai cette requête.
Comment oracle va procéder ?
Que va t il faire en premier ?
..
Merci
Message édité par donny3 le 12-10-2011 à 15:02:17