Fonctions d'agrégation

Disponible

6.1 Liste des fonctions d'agrégation

Lorsque vous utilisez le regroupement de lignes dans SQL avec l'opérateur GROUP BY, vous pouvez utiliser SELECTdes fonctions dans l'instruction qui agissent sur les données groupées. Ces fonctions sont également appelées fonctions d'agrégation.

Voici une liste des plus populaires :

# Fonction Description
1 COMPTER() Renvoie le nombre de valeurs dans un groupe
2 SOMME() Renvoie la somme des valeurs d'un groupe
3 MAX() Renvoie la valeur maximale d'un groupe
4 MIN() Renvoie la valeur minimale d'un groupe
5 MOY() Renvoie la moyenne d'un groupe
6 BIT_AND() Effectue un ET au niveau du bit sur toutes les valeurs de groupe
7 BIT_OR() Effectue un OU au niveau du bit sur toutes les valeurs de groupe
8 BIT_XOR() Effectue un XOR au niveau du bit sur toutes les valeurs de groupe
9 GROUP_CONCAT() Concatène toutes les valeurs de groupe en une seule chaîne
Ce n'est pas une liste complète des fonctions d'agrégation, mais le reste est très spécifique et je ne pense pas que vous les utiliserez dans les prochaines années 5. Si vous en avez encore besoin, vous pouvez toujours lire la documentation officielle de votre SGBD.

Voyons maintenant quelques exemples avec nos fonctions d'agrégation.

6.2 Analyse des salaires des employés

Calculons quelques statistiques sur nos employés à partir de la table employee .

Première question : combien d'employés avons-nous ?

Si nous voulons connaître le nombre de tous les enregistrements de la table, nous pouvons utiliser la fonction d'agrégation pour cela COUNT. La requête ressemblera à ceci :

SELECT COUNT(*) FROM employee

Et MySQL renverra comme réponse le chiffre 6. Nous avons 6 employés dans le département, dont un chat. D'accord.

Deuxième question : combien payons-nous par mois à tous les employés ?

Pour répondre à cette question, nous devons additionner les salaires de tous les employés. Pour ce faire, nous utilisons la fonction d'agrégationSUM()

La requête ressemblera à ceci :

SELECT SUM(salary) FROM employee

Notez que cette fois, nous devons spécifier les valeurs de quelle colonne nous résumons. Nous avons spécifié une colonne de salaire . Nous ne pouvons pas simplement additionner tous les champs d'une table.

Et MySQL renverra comme réponse le nombre 461000. Nous avons 6 employés dans le département et le salaire est de 461 000. Trop.

Et enfin, la troisième question : quels sont nos salaires maximum et minimum dans le département ? Eh bien, calculons le salaire moyen. Pour ce faire, nous avons besoin des fonctions MIN, MAXet AVG.

La requête sera un peu plus complexe cette fois et ressemblera à ceci :

SELECT MIN(salary), AVG(salary), MAX(salary)
FROM employee

Le résultat de cette requête sera :

MIN(salaire) MOY (salaire) MAX(salaire)
1000 76833.3333 200000

Le salaire minimum dans notre département est de 1 000 $, ce qui est très bien. Le salaire maximum est de 200 000, mais c'est le directeur.

Mais le salaire moyen est trop élevé, vous devez en quelque sorte optimiser les coûts. Embauchons un autre chat et c'est tout :)

Commentaires
  • Populaires
  • Nouveau
  • Anciennes
Tu dois être connecté(e) pour laisser un commentaire
Cette page ne comporte pas encore de commentaires