Clause GROUP BY
de SQL : agrégation de données et sortie de ligne
L'agrégation de données est la pierre angulaire de l'analyse des bases de données. La clause GROUP BY
de SQL fournit le mécanisme permettant de regrouper les lignes en fonction des colonnes spécifiées et d'appliquer des fonctions d'agrégation à ces groupes.
Examinons une requête à l'aide d'un exemple de table, Tab1
, avec des colonnes a1
, a2
, a3
, etc. (aucune n'identifiant de manière unique une ligne). Considérez cette requête :
SELECT a1, a2, SUM(a3) FROM Tab1 GROUP BY a1, a2;
Déchiffrer les résultats de la requête
La clause GROUP BY
divise les lignes de Tab1
en groupes en fonction de combinaisons uniques de a1
et a2
. La requête produit une ligne pour chaque paire distincte (a1, a2).
Pour chaque groupe, la fonction SUM(a3)
calcule le total des a3
valeurs. Ainsi, le résultat montre la a3
somme agrégée pour chaque combinaison unique (a1, a2).
Renverra-t-il toujours une seule ligne ?
Le résultat de la requête n'est pas toujours une seule ligne. Il renvoie plusieurs lignes : une par groupe unique (a1, a2). Le nombre de lignes dépend directement du nombre de groupes distincts dans Tab1
. Ce n'est que si Tab1
a une ligne, ou si toutes les lignes partagent des valeurs a1
et a2
identiques, que la requête produira une seule ligne.
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!