La clause GROUP BY
en SQL est utilisée en conjonction avec des fonctions d'agrégation pour regrouper les données en fonction de certaines colonnes et faire une synthèse sur d'autres. La question se réfère spécifiquement à l'utilisation correcte de la clause GROUP BY
avec la fonction d'agrégation COUNT()
. La bonne réponse est : SELECT COUNT(EmployeeID), Department FROM Employees GROUP BY Department
.
Lorsque GROUP BY
est utilisée avec une fonction d'agrégation comme COUNT()
, elle divise le jeu de résultats en groupes de lignes et retourne un résultat unique pour chaque groupe. Ceci est particulièrement utile lorsque vous voulez calculer des totaux, des moyennes ou d'autres calculs sur des sous-ensembles de vos données.
Dans l'exemple fourni, nous voulons connaître le nombre d'employés (COUNT(EmployeeID)
) dans chaque département (Department
). La commande SQL est donc :
SELECT COUNT(EmployeeID), Department
FROM Employees
GROUP BY Department
Cette requête peut être décomposée ainsi :
SELECT COUNT(EmployeeID), Department
: On souhaite récupérer le nombre d'employés et le nom du département.FROM Employees
: Les données sont extraites de la table "Employees".GROUP BY Department
: Les données sont regroupées par département.Le résultat de cette requête serait une liste des différents départements de l'entreprise et du nombre d'employés dans chaque département. Chaque ligne de la réponse représente un département différent.
Lorsque vous utilisez GROUP BY
, assurez-vous que toutes les colonnes dans la clause SELECT
qui ne sont pas utilisées avec des fonctions d'agrégation sont incluses dans la clause GROUP BY
. Sinon, vous recevrez une erreur.
De plus, l'ordre des colonnes dans la clause GROUP BY
peut affecter les résultats. Les données seront regroupées en fonction de l'ordre des colonnes listées.
Enfin, il est important de savoir que GROUP BY
renvoie une ligne pour chaque groupe. Si vous avez besoin d'affiner davantage les résultats, vous pouvez utiliser la clause HAVING
pour filtrer sur les résultats d'une fonction d'agrégation.
En résumé, l'utilisation de la clause GROUP BY
avec des fonctions d'agrégation en SQL est un puissant outil de synthèse des données. Elle permet de réaliser des analyses et des rapports complexes sur vos données.