Une fonction d'agrégation, telle que SUM(), applique une opération mathématique à un ensemble de valeurs, renvoyant un seul résultat . Sans GROUP BY, la fonction d'agrégation fonctionnerait sur l'ensemble de la table, entraînant souvent des résultats inattendus ou erronés.
Considérons l'exemple suivant : vous disposez d'une table Employé avec le salaire mensuel de chaque employé. Pour déterminer la dépense salariale mensuelle totale, vous utiliseriez la requête suivante :
SELECT EmployeeID, SUM (MonthlySalary) FROM Employee
Cependant, exécuter cette requête sans GROUP BY renverrait simplement la même table avec le salaire de chaque employé, ce qui n'est pas le résultat souhaité.
Le regroupement des données par EmployeeID à l'aide de GROUP BY garantit que la fonction SUM() est appliquée aux montants de salaire de chaque employé. séparément :
SELECT EmployeeID, SUM (MonthlySalary) FROM Employee GROUP BY EmpID
Cette requête mise à jour fournit désormais le résultat correct, qui est le salaire mensuel total de chaque employé.
En SQL, GROUP BY agit comme une boucle "pour chaque" pour pour le bien des fonctions d’agrégation. Il partitionne les données en groupes en fonction de la ou des colonnes spécifiées et applique la fonction d'agrégation à chaque groupe séparément.
Par exemple, si la table Employee contient les lignes suivantes :
empid | MonthlySalary |
---|---|
1 | 200 |
1 | 300 |
2 | 300 |
En utilisant la requête GROUP BY, le résultat serait :
empid | TotalSalary |
---|---|
1 | 500 |
2 | 300 |
Cela démontre comment GROUP BY permet aux fonctions d'agrégation d'effectuer des opérations sur des groupes de données spécifiques, fournissant ainsi des informations significatives et précises. résultats.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!