Datenblatt: Von Spalte zu Zeile: mit max(case when then) max --- Aggregatfunktion nimmt den Maximalwert (Fall natürlich, wenn 'Chinesisch', dann Punktzahl, sonst 0 Ende) --- Urteil als Sprache --- Alias als Spaltenname WÄHLEN `Name`, MAX( FALL WENN Kurs = 'Chinesisch' DANN Punktzahl ENDE ) AS Sprache, MAX( FALL WENN Kurs = 'Mathematik' DANN Punktzahl ENDE ) AS Mathematik, MAX( FALL WENN Kurs = 'Englisch' DANN Punktzahl ENDE ) AS Englisch VON Student GRUPPE NACH `Name` ; Seriendruckfeldanzeige: Verwenden Sie group_cancat(course,":","score") WÄHLEN `Name`, GROUP_CONCAT(Kurs, ":", Punktzahl) AS Punktzahl FROM Student GRUPPELN NACH `Name`; group_concat(), im Handbuch heißt es: Diese Funktion gibt ein String-Ergebnis mit nicht-NULL-Werten aus einer Gruppenverbindung zurück. Einfach ausgedrückt berechnet group_concat(), welche Zeilen zur selben Gruppe gehören, und zeigt die Spalten an, die zur selben Gruppe gehören. Welche Spalten zurückgegeben werden, wird durch die Funktion bestimmt Die Anzahl der Parameter (also der Feldname) ist ausschlaggebend. Es muss ein Standard für die Gruppierung vorhanden sein, d. h. eine Gruppierung gemäß der durch „group by“ angegebenen Spalte. Ich vermute, dass die Funktion group_concat die Group-By-Anweisung intern ausführen sollte. 1. Testanweisung: WÄHLEN GROUP_CONCAT(`Name`) AUS Student GRUPPELN NACH `Name`; Das Ergebnis besteht darin, herauszufinden, welche Werte im Namen gleich sind. Wenn sie gleich sind, listen Sie sie alle auf, getrennt durch Kommas, wie folgt: group_concat('Name') 2. Prüfung: WÄHLEN GROUP_CONCAT(`Name`) AUS Student ; Ergebnis: group_concat('Name') Kann bewiesen werden, dass group_concat nur wirksam ist, wenn es mit einer group by-Anweisung verwendet wird? Das Folgende ist ein praktischer Test 3. Testen Sie die Auswirkung von Konstanten auf die Konfiguration von group_concat(): Setzen Sie @@GROUP_CONCAT_MAX_LEN=4 Im Handbuch heißt es, dass die Syntax für die Einstellung wie folgt lautet: SET [SESSION | GLOBAL] group_concat_max_len = Wert; Was ist der Unterschied zwischen den beiden? Setzen Sie @@global.GROUP_CONCAT_MAX_LEN=4; 4. Verwenden Sie Aussagen WÄHLEN Das Ergebnis ist: group_concat('Name') Fazit: Die Funktion group_concat() muss zusammen mit der Group-by-Anweisung verwendet werden, um den gewünschten Effekt zu erzielen. Der Grund dafür ist wie folgt zu verstehen: group_concat() ruft alle Mitglieder ab, die zur Gruppe x gehören (die Spaltenparameter in der Funktion geben an, welche Felder angezeigt werden sollen). Woher kommt Gruppe X? Wenn keine Gruppierung nach angegeben ist, ist nicht bekannt, welche Gruppe group_concat() zum Anzeigen der Mitglieder verwenden wird. Wenn oben also keine „Group By“-Klausel vorhanden ist, wird Liu Bei, Guan Yu, Zhang Fei, Liu Bei, Guan Yu, Zhang Fei, Liu Bei, Guan Yu, Zhang Fei angezeigt. Wann wird diese Funktion eigentlich benötigt? Angenommen, das Abfrageergebnis lautet wie folgt: Der Gruppenname wird links angezeigt und alle Mitgliedsinformationen unter der Gruppe werden rechts angezeigt. Die Nutzung dieser Funktion kann Ihnen viel Ärger ersparen. Außerdem, wenn ich verwende: WÄHLEN `Name`, GROUP_CONCAT(Kurs, ":", Punktzahl) AS Punktzahl FROM Student ; Es macht nicht viel Sinn. Die Angabe einer einzelnen Spalte ist der beste Ansatz für group_concat(). Wenn mehrere Spalten angegeben sind. WÄHLEN `Name`, GROUP_CONCAT(Kurs, ":", Punktzahl) AS Punktzahl FROM Student GRUPPELN NACH `Name`; Das angezeigte Ergebnis sieht dann ungefähr so aus: group_concat(Kurs,":",Punktzahl) Der obige Artikel zum Konvertieren von Spalten in Zeilen und Zusammenführungsfeldern in MySQL (unbedingt lesen) ist alles, was ich mit Ihnen teilen möchte. Ich hoffe, er kann Ihnen als Referenz dienen, und ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Das könnte Sie auch interessieren:
|
Inhaltsverzeichnis Szenarioanalyse Entwicklung Zu...
Heute hat mich bei der Arbeit ein Freund, den ich ...
Ubuntu 20.04 wurde im April 2020 offiziell veröff...
Als eines der beliebtesten Front-End-Frameworks i...
In Google Chrome werden Sie nach der erfolgreiche...
Ändern Sie den Standardstil der Auswahl, normalerw...
Einführung in das Geo-Modul von Nginx Die Geo-Dir...
CSS spielt auf einer Webseite eine sehr wichtige ...
Inhaltsverzeichnis Docker-Bereitstellung Always o...
Erste Abfragetabellenstruktur (sys_users): WÄHLEN...
Normalerweise verwenden wir die folgende SQL-Anwe...
1. Warum wird das Auswerfen nicht empfohlen? 1. W...
In diesem Artikelbeispiel wird der spezifische Co...
MySQL führt SQL durch den Prozess der SQL-Analyse...
Vorwort Die Verwaltung des Routings ist eine wese...