Maison > Article > base de données > groupe mysql plusieurs colonnes
Dans les tâches de développement quotidiennes, nous utilisons souvent le regroupement GROUP BY de MYSQL pour obtenir des données statistiques basées sur les champs de groupe de la table de données.
Par exemple, il existe un tableau de sélection des cours des étudiants avec la structure suivante :
Table: Subject_Selection Subject Semester Attendee --------------------------------- ITB001 1 John ITB001 1 Bob ITB001 1 Mickey ITB001 2 Jenny ITB001 2 James MKB114 1 John MKB114 1 Erica
Nous voulons compter combien d'étudiants se sont inscrits à chaque cours , et utilisez le SQL suivant
SELECT Subject, Count(*) FROM Subject_Selection GROUP BY Subject
Les résultats suivants ont été obtenus :
Subject Count ------------------------------ ITB001 5 MKB114 2
Parce que la table enregistre que 5 étudiants ont choisi ITB001 et 2 étudiants ont choisi MKB114.
La raison de ce résultat est la suivante :
GROUP BY X signifie mettre tous les enregistrements avec la même valeur de champ X dans un groupe.
Et GROUPE PAR X, Y ?
GROUP BY X, Y signifie placer tous les enregistrements avec la même valeur de champ X et la même valeur de champ Y dans un groupe.
Nous demanderons ensuite de compter combien de personnes choisissent chaque matière à chaque semestre, et utiliserons le SQL suivant :
SELECT Subject, Semester, Count(*) FROM Subject_Selection GROUP BY Subject, Semester
Le SQL ci-dessus signifie regrouper les données dans la table Subject_Selection Put records. avec les mêmes valeurs de champ Sujet et Semestre dans le même groupe, puis appliquez des fonctions d'agrégation (COUNT, SUM, AVG, etc.) aux données de chaque groupe.
Le résultat obtenu est :
Subject Semester Count ------------------------------ ITB001 1 3 ITB001 2 2 MKB114 1 2
D'après les enregistrements du tableau, nous pouvons voir que ce résultat de regroupement est correct 3 étudiants ont choisi ITB001 au premier semestre, et 2 étudiants ont choisi ITB001 en. le premier semestre. J'ai choisi ITB001 au deuxième semestre,
deux étudiants ont choisi MKB114 au premier semestre, et personne n'a choisi MKB114 au deuxième semestre.
Résumé :
Lorsque vous utilisez GROUP BY pour regrouper des données dans une table dans MYSQL,
GROUP BY X signifie mettre tous les enregistrements avec la même valeur de champ X dans un seul groupe Ici,
GROUP BY X, Y signifie mettre tous les enregistrements avec la même valeur de champ X et la même valeur de champ Y dans un groupe
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!