En relisant le cours sur developpez sur la clause group by
pour le (1) si il n'y a pas de colonnes hors de calculs d'agrégation, ne pas mettre group by ne provoquera pas de notification. La requête restera correcte ou pas ?NOTA :
(1) La présence de la clause GROUP BY est nécessaire dès que la clause de sélection, ou le filtre WHERE, ou encore les jointures comportent simultanément des calculs d'agrégation et la présence de colonnes de table hors de calculs d'agrégation.
(2) De plus, toutes les colonnes représentées hors des calculs d'agrégation doivent figurer dans la clause GROUP BY.
ex:
de plus est ce que que pour (2) c'est obligatoire toutes les colonnes contenues dans select et même dans le where, les jointures,...(voir dans un orderby ? ) hors agrégation doivent être présentes dans group by ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT count(*) FROM table WHERE nom="toto"
Merci
(je sais que j'aurais pu essayer et conclure par moi même mais n'étant pas un expert en sql je préfère avoir des avis, des définitions de connaisseurs )
Partager