Sobes.tech
Middle

Pourquoi le nombre de valeurs dans les résultats d'une requête avec des fonctions d'agrégation n'est-il pas égal au nombre de lignes?

sobes.tech IA

Réponse de l'IA

Le nombre de valeurs dans les résultats d'une requête avec des fonctions d'agrégation n'est pas égal au nombre de lignes de la table d'origine, car les fonctions d'agrégation (par exemple, SUM, COUNT, AVG, MAX, MIN) réduisent un ensemble de lignes à une ou plusieurs valeurs, en résumant les données. Si une fonction d'agrégation est utilisée sans clause GROUP BY, le résultat sera une seule ligne avec la valeur agrégée de l'ensemble des données.

Si la clause GROUP BY est utilisée, le nombre de lignes dans le résultat sera égal au nombre de groupes uniques, et non au nombre de lignes originales. Par exemple, si vous groupez par une colonne avec 5 valeurs uniques, le résultat contiendra 5 lignes, une par groupe.

Exemple:

SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department;

Ici, le résultat contient une ligne par département, et non par employé.