Ich habe hier eine Warentabelle erstellt. Schauen wir uns die darin enthaltenen Daten an: mysql> wähle * aus Waren; +----+------+------+------------+-------------+------------+ | ID | s_ID | b_ID | Warenname | Warenpreis | Warenbeschreibung | +----+------+------+------------+-------------+------------+ | 1 | 1 | 5 | Buch | 22,35 | Buch | | 2 | 2 | 5 | Kugel | 32,25 | Kugel | | 3 | 3 | 5 | NULL | 3,23 | NULL | | 4 | 3 | 5 | MacBook | 3,23 | Buch | | 5 | 3 | 5 | Listenbuch | 2,30 | Buch | | 6 | 1 | 1 | Nicebook | 9999,00 | Nicebook | | 7 | 2 | 3 | Googlebook | 25,30 | Buch | +----+------+------+------------+-------------+------------+ 1. Gruppieren nach s_id mysql> wähle *,group_concat(Warenname) Warennamen,group_concat(Warenbeschreibung) Warenbeschreibungen,group_concat(ID) IDs,group_concat(Warenpreis) Warenpreise aus Warengruppe nach s_id; +----+------+------+------------+-------------+------------+------------------+---------------+-----------+----------------+ | ID | s_id | b_id | Warenname | Warenpreis | Warenbeschreibung | Warennamen | Warenbeschreibungen | IDs | Warenpreise | +----+------+------+------------+-------------+------------+------------------+---------------+-----------+----------------+ | 1 | 1 | 5 | Buch | 22,35 | Buch | Buch, Nicebook | Buch, Nicebook | 1,6 | 22,35,9999,00 | | 2 | 2 | 5 | Ball | 32,25 | Ball | Ball, Google Book | Ball, Buch | 2,7 | 32,25,25,30 | | 3 | 3 | 5 | NULL | 3.23 | NULL | MacBook, Listbook | Buch, Buch | 3,4,5 | 3.23,3.23,2.30 | +----+------+------+------------+-------------+------------+------------------+---------------+-----------+----------------+ Die Funktion Die obige Gruppierung nach einem einzelnen Feld ist sehr einfach und alle Datensätze mit derselben 2. Gruppieren nach s_id, goods_desc Feldern Analyse: Wenn hier Gruppen abgefragt werden, werden die Daten zuerst nach s_id gruppiert, und dann werden die Daten in jeder Gruppe nach goods_desc gruppiert mysql> wähle *,group_concat(Warenname) Warennamen,group_concat(Warenbeschreibung) Warenbeschreibungen,group_concat(ID) IDs,group_concat(Warenpreis) Warenpreise aus Warengruppe nach s_id, Warenbeschreibung; +----+------+------+------------+-------------+------------+------------------+-------------+------+--------------+ | ID | s_id | b_id | Warenname | Warenpreis | Warenbeschreibung | Warennamen | Warenbeschreibungen | IDs | Warenpreise | +----+------+------+------------+-------------+------------+------------------+-------------+------+--------------+ | 1 | 1 | 5 | Buch | 22,35 | Buch | Buch | Buch | 1 | 22,35 | | 6 | 1 | 1 | Nicebook | 9999,00 | Nicebook | Nicebook | Nicebook | 6 | 9999,00 | | 2 | 2 | 5 | Kugel | 32,25 | Kugel | Kugel | Kugel | 2 | 32,25 | | 7 | 2 | 3 | Googlebook | 25,30 | Buch | Googlebook | Buch | 7 | 25,30 | | 3 | 3 | 5 | NULL | 3,23 | NULL | NULL | NULL | 3 | 3,23 | | 4 | 3 | 5 | MacBook | 3,23 | Buch | MacBook, Listenbuch | Buch, Buch | 4,5 | 3,23,2,30 | +----+------+------+------------+-------------+------------+------------------+-------------+------+--------------+ Ein Vergleich zwischen goods_descs hier und oben wird deutlich machen Als nächstes können Sie nach Warenpreis gruppieren mysql> wähle *,group_concat(Warenname) Warennamen,group_concat(Warenbeschreibung) Warenbeschreibungen,group_concat(ID) IDs,group_concat(Warenpreis) Warenpreise aus Warengruppe nach s_id, Warenbeschreibung, Warenpreis; +----+------+------+------------+-------------+-------------+-------------+-------------+----------+-------------+----------+ | ID | s_id | b_id | Warenname | Warenpreis | Warenbeschreibung | Warennamen | Warenbeschreibungen | IDs | Warenpreise | +----+------+------+------------+-------------+-------------+-------------+-------------+----------+-------------+----------+ | 1 | 1 | 5 | Buch | 22,35 | Buch | Buch | Buch | 1 | 22,35 | | 6 | 1 | 1 | Nicebook | 9999,00 | Nicebook | Nicebook | Nicebook | 6 | 9999,00 | | 2 | 2 | 5 | Kugel | 32,25 | Kugel | Kugel | Kugel | 2 | 32,25 | | 7 | 2 | 3 | Googlebook | 25,30 | Buch | Googlebook | Buch | 7 | 25,30 | | 3 | 3 | 5 | NULL | 3,23 | NULL | NULL | NULL | 3 | 3,23 | | 5 | 3 | 5 | Listenbuch | 2,30 | Buch | Listenbuch | Buch | 5 | 2,30 | | 4 | 3 | 5 | MacBook | 3,23 | Buch | MacBook | Buch | 4 | 3,23 | +----+------+------+------------+-------------+-------------+-------------+-------------+----------+-------------+----------+ Hierbei muss beim Gruppieren mehrerer Felder lediglich darauf geachtet werden, dass die Felder nach der Gruppierungsreihenfolge entsprechend dem Inhalt der vorherigen Felder gruppiert werden. Bei täglichen Entwicklungsaufgaben verwenden wir häufig die GROUP BY-Gruppierung von MySQL, um statistische Daten basierend auf den Gruppierungsfeldern in der Datentabelle zu erhalten. Beispielsweise gibt es eine Kurswahltabelle für Studierende mit folgendem Aufbau: Tabelle: Fach Semester Teilnehmer --------------------------------- ITB001 1 Johannes ITB001 1 Bob ITB001 1 Micky ITB001 2 Jenny ITB001 2 Jakob MKB114 1. Johannes MKB114 1 Erika Wir möchten zählen, wie viele Studenten sich für jeden Kurs angemeldet haben, und das folgende SQL anwenden: SELECT Betreff, Anzahl(*) VON Betreffauswahl GROUP BY Betreff Es wurden folgende Ergebnisse erzielt:
Denn in der Tabelle ist verzeichnet, dass 5 Studierende ITB001 und 2 Studierende MKB114 gewählt haben. Die Gründe für dieses Ergebnis sind: GROUP BY X bedeutet, alle Datensätze mit demselben X-Feldwert in einer Gruppe zusammenzufassen. Was ist mit GROUP BY X, Y? GROUP BY X, Y bedeutet, alle Datensätze mit gleichen X- und Y-Feldwerten in eine Gruppe zu packen. Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
<<: So benennen Sie unter Linux eine Gruppe von Dateien auf einmal um
>>: Vue realisiert Bildwechseleffekt
Inhaltsverzeichnis 1. Lernen Sie, je nach Anforde...
Wenn Sie einen Befehl im Terminal ausführen, müss...
Grundlegende Einführung Im vorherigen Artikel hab...
Wie in der folgenden Abbildung dargestellt: Wenn ...
Das mit vue-cli erstellte Projektgerüst hat den A...
Hintergrund Für die virtuelle VirtualBox-Maschine...
Ein n-stelliger Bestätigungscode, der aus Zahlen,...
Eine Mehrfachauswahl ist ein Benutzeroberflächene...
Zusammenfassung: HBase verfügt über zahlreiche Be...
Problembeschreibung Der Schaltflächenstil ist Sym...
1. Globales Objekt Alle Module können aufgerufen ...
Es handelt sich dabei ausschließlich um Webseiten...
Rendern Definieren Sie das Skelett, schreiben Sie...
Inhaltsverzeichnis 01 Gemeinsame Controller in k8...
Dieser Artikel beschreibt das Beispiel der MySQL-...