Cet article présente principalement l'analyse de l'utilisation de group by et have en SQL. Les amis qui en ont besoin peuvent s'y référer
Analyse de l'utilisation de group by en SQL :
La déclaration Group By signifie littéralement « Grouper selon (par) certaines règles » en anglais.
Fonction : divisez un ensemble de données en plusieurs petites zones grâce à certaines règles, puis effectuez le traitement des données sur plusieurs petites zones.
Remarque : regrouper en triant d'abord puis en regroupant !
Exemple : Si vous souhaitez utiliser le regroupement par, le mot "chaque" est généralement utilisé. Par exemple, il y a un besoin maintenant : interrogez combien de personnes il y a dans chaque département. Nous devons utiliser la technologie de regroupement
select DepartmentID as '部门名称',COUNT(*) as '个数' from BasicDepartment group by DepartmentID
Il s'agit d'un regroupement en utilisant le champ group by +, dans lequel nous pouvons comprendre que nous sommes regroupés en fonction du nom ID de le département
DepartmentID regroupe l'ensemble de données ; puis calcule les données statistiques de chaque groupe
2. Explication du groupe par et ayant
Prérequis : Vous devez comprendre une fonction spéciale de la fonction d'agrégation du langage SQL.
Par exemple : SUM, COUNT, MAX, AVG, etc. La différence fondamentale entre ces fonctions et les autres fonctions est qu'elles opèrent généralement sur plusieurs enregistrements.
Le mot-clé WHERE ne peut pas être utilisé lors de l'utilisation de fonctions d'agrégation, donc HAVING est ajouté à la fonction d'agrégation pour tester si les résultats de la requête remplissent les conditions.
Avoir est appelé la condition de filtre de regroupement, qui est la condition requise pour le regroupement, elle doit donc être utilisée en conjonction avec group by.
Il est à noter que lorsqu'il contient la clause Where, clause groupe par, ayant à la fois une clause et une fonction d'agrégation, l'ordre d'exécution est le suivant :
1. Exécuter la clause Where pour trouver les données qualifiées ;
2. Utilisez la clause group by pour regrouper les données
3. Exécutez la fonction d'agrégation sur les groupes formés par la clause group by pour calculer la valeur ; de chaque groupe;
4. Enfin, utilisez la clause have pour supprimer les groupes qui ne remplissent pas les conditions.
Chaque élément de la clause have doit également apparaître dans la liste de sélection. Il existe certaines exceptions dans les bases de données, comme Oracle.
La clause have et la clause Where peuvent être utilisées pour définir des restrictions afin que les résultats de la requête répondent à certaines conditions.
La clause have restreint les groupes, pas les lignes. Les résultats des calculs de fonctions d'agrégation peuvent être utilisés comme conditions. Les fonctions d'agrégation ne peuvent pas être utilisées dans la clause Where, mais elles peuvent être utilisées dans la clause Have.
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!