Maison >base de données >tutoriel mysql >Comment regrouper plusieurs champs à l'aide de Group By dans MySql
Cet article présente principalement la méthode d'implémentation de MySql Group By pour regrouper plusieurs champs. Les amis dans le besoin peuvent se référer aux
Recommandations du didacticiel vidéo MySQL associé : " Tutoriel MySQL <.>》
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 EricaNous voulons compter le nombre d'étudiants inscrits à chaque cours. Appliquez le SQL suivant : <.> pour obtenir les résultats suivants :
SELECT Subject, Count(*) FROM Subject_Selection GROUP BY SubjectCar il est enregistré dans le tableau que 5 étudiants ont choisi ITB001 et 2 étudiants ont choisi MKB114.
Subject Count ------------------------------ ITB001 5 MKB114 2
La raison de ce résultat est :
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 :
Le SQL ci-dessus signifie effectuer les données sur la table Subject_Selection Grouping , placez les enregistrements 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.SELECT Subject, Semester, Count(*) FROM Subject_Selection GROUP BY Subject, Semester
Le résultat obtenu est :
D'après les enregistrements du tableau, nous pouvons voir que le résultat du regroupement est correct 3 étudiants ont choisi ITB001 au premier semestre, et 2 étudiants Eux. ont choisi ITB001 au deuxième semestre,Subject Semester Count ------------------------------ ITB001 1 3 ITB001 2 2 MKB114 1 2
et deux étudiants ont choisi MKB114 au premier semestre, et personne n'a choisi MKB114 au deuxième semestre.
Pour un autre exemple, il existe un tableau de commande, qui enregistre toutes les commandes payées
Tableau : Commande
Maintenant, nous voulons compter chaque utilisateur dans chaque catégorie Comment combien d'argent a été dépensé pour les marchandises au total ? Exécutez le SQL suivantProduct Buyer Spending --------------------------------- PD001 Todd 12.00 PD001 Todd 12.00 PD001 Todd 12.00 PD001 Lily 12.00 PD001 Lily 12.00 PD002 Todd 20.00 PD002 Todd 20.00et obtenez les résultats suivants :
SELECT Product,Buyer, SUM(Spending) FROM `Order` GROUP BY Product, Buyer
Product Buyer SUM ------------------------------ PD001 Todd 36.00 PD001 Lily 24.00 PD002 Todd 40.00
Résumé : Lorsque vous utilisez GROUP BY pour regrouper des données dans une table dans MYSQL,
GROUP BY X signifie placer tous les enregistrements avec la même valeur de champ X dans un groupe,
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!