Maison  >  Article  >  base de données  >  Comment écrire une fonction de regroupement dans MySQL

Comment écrire une fonction de regroupement dans MySQL

下次还敢
下次还敢original
2024-05-01 20:37:001070parcourir

Les fonctions de groupe dans MySQL regroupent les données par colonnes spécifiées et calculent les valeurs globales pour chaque groupe. Les fonctions de regroupement incluent COUNT, SUM, AVG, MIN et MAX. La clause HAVING peut filtrer les résultats du regroupement et conserver les groupes qui remplissent les conditions. Après le regroupement, les autres colonnes sont regroupées par ligne et la condition de la clause HAVING est appliquée aux résultats regroupés et est supposée être TRUE si elle n'est pas spécifiée. Des regroupements complexes peuvent être créés à l'aide de plusieurs clauses GROUP BY et HAVING.

Comment écrire une fonction de regroupement dans MySQL

Fonctions de groupe dans MySQL

Les fonctions de groupe sont utilisées pour regrouper les données en fonction d'une colonne donnée et calculer les valeurs agrégées pour chaque groupe.

Syntaxe :

<code class="sql">GROUP BY col1, col2, ...
HAVING condition</code>

Paramètres :

  • GROUP BY : Spécifiez la colonne de regroupement.
  • HAVING : Utilisé pour filtrer les résultats des groupes et ne conserver que les groupes qui remplissent les conditions.

Fonctions de regroupement couramment utilisées :

  • COUNT : Renvoie le nombre de valeurs non nulles dans la colonne spécifiée.
  • SUM : Renvoie la somme de toutes les valeurs de la colonne spécifiée.
  • AVG : Renvoie la moyenne de toutes les valeurs de la colonne spécifiée.
  • MIN : Renvoie la valeur minimale dans la colonne spécifiée.
  • MAX : Renvoie la valeur maximale dans la colonne spécifiée.

Exemple :

<code class="sql">SELECT department, SUM(salary) AS total_salary
FROM employees
GROUP BY department
HAVING total_salary > 50000;</code>

Cette requête regroupe les employés par département et calcule le salaire total pour chaque département. Il ne retient que les départements dont le total des salaires est supérieur à 50 000.

Points :

  • Après le regroupement, toutes les autres colonnes des données d'origine seront regroupées par ligne.
  • Les conditions de la clause HAVING s'appliquent aux résultats groupés, pas aux données originales.
  • Si la clause HAVING n'est pas spécifiée, elle est supposée être VRAIE et tous les regroupements seront affichés.
  • Vous pouvez utiliser plusieurs clauses GROUP BY et HAVING pour créer des regroupements plus complexes.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn