Le "group by" est nécessaire si on utilise une fonction d'agregat (Count, Sum, ...) avec un champ non agrégé, par exemple :
Pas de "Group by"
1 2
| Select count(B)
FROM Table |
"Group by" sinon requête fausse puisqu'on souhaite regrouper selon le champs A
1 2 3
| Select A, count(B)
FROM Table
GROUP BY A |
"Group By" + "Having" puisque notre critère porte sur un champ agrégé
1 2 3 4
| Select A, count(B)
FROM Table
GROUP BY A
HAVING count(B) > 2 |
"Group By", pas de "Having" puisque notre critère ne porte pas sur un champ agrégé
1 2 3 4
| Select A, count(B)
FROM Table
GROUP BY A
WHERE A LIKE ('Poney%') |
Sinon, selon moi, l'assistant de requête c'est pas super, la preuve avec cette ligne :
WHERE (((LYCEES.cod_etb)=[ANCIENS].[cod_etb]))
ça n'est pas plus simple comme ça ?
WHERE LYCEES.cod_etb = ANCIENS.cod_etb
Partager