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:
|
Code kopieren Der Code lautet wie folgt: <!DOC...
Nginx entscheidet zunächst, welcher Serverblock i...
Reverse-Proxy Unter Reverse-Proxy versteht man de...
Inhaltsverzeichnis Überblick Umgebungsvorbereitun...
MySQL-Server hat Problem in PHP behoben 1. Hinter...
Nachdem Sie sich das angesehen haben, garantiere ...
Trennlinien sind eine gängige Gestaltungsart auf ...
<Vorlage> <div id="Wurzel">...
Überblick Im vorherigen Kapitel haben wir die Fil...
In SQL wird GROUP BY verwendet, um Daten in den E...
In diesem Artikel wird der spezifische JavaScript...
Globale Nginx-Variablen Es gibt viele globale Var...
Vorwort: Ich habe vor langer Zeit gehört, dass My...
Lösung 1: Verwenden Sie bedingten Import im HTML-...
Bei der Entwicklung begegnen wir häufig dieser Sit...