Heim > Datenbank > MySQL-Tutorial > Hauptteil

Zusammenfassung der Verwendung der Funktion „group_concat()' in MySQL

怪我咯
Freigeben: 2017-03-30 10:13:31
Original
1531 Leute haben es durchsucht


Das Beispiel in diesem Artikel beschreibt die Verwendung der Funktion mysql group_concat(). Geben Sie es als Referenz an alle weiter. Die Details lauten wie folgt:

group_concat(), im Handbuch heißt es: Diese Funktion gibt einen mit einem Nicht-NULL-Wert zurück der Verbindung aus einer Gruppe >StringErgebnis. Relativ abstrakt und schwer verständlich.

Um es auf einfache Weise zu verstehen, ist es tatsächlich so: group_concat() berechnet, welche Zeilen zur gleichen Gruppe gehören und zeigt die Spalten an, die zur gleichen Gruppe gehören. Welche Spalten zurückgegeben werden sollen, wird durch den Funktionsparameter (der Feldname ist) bestimmt. Gruppe muss einen Standard haben, der darin besteht, gemäß der durch Gruppe von angegebenen Spalte zu gruppieren.

Die Funktion „group_concat“ sollte die Group-By-Anweisung intern ausführen. Das ist meine Vermutung.

1. Testaussage:

SELECT group_concat(town) FROM `players` group by town
Nach dem Login kopieren

Das Ergebnis ist, herauszufinden, welche Werte in der Stadt gleich sind sie alle. Listen Sie sie durch Kommas getrennt wie folgt auf:

group_concat(town)

Peking, Peking

Changsha

2. Testen :

SELECT group_concat( town )
FROM players
Nach dem Login kopieren

Ergebnis:

group_concat(town)

Changsha, Peking, Peking,

Kann das oben Gesagte beweisen? dass group_concat nur wirksam sein kann, wenn es gleichzeitig mit der Anweisung „group by“ verwendet wird? Das Folgende ist ein tatsächlicher Test

3. Testen Sie die Auswirkung von Konstanten auf die Konfiguration von group_concat( ):

SET @@GROUP_CONCAT_MAX_LEN=4
Nach dem Login kopieren

Die im Handbuch erwähnte Syntax für die Einstellung lautet wie folgt:

SET [SESSION | GLOBAL] group_concat_max_len = val;
Nach dem Login kopieren

Was ist der Unterschied zwischen den beiden?

SET @@global.GROUP_CONCAT_MAX_LEN=4;
Nach dem Login kopieren

global kann weggelassen werden, dann lautet es: SET @@GROUP_CONCAT_MAX_LEN=4;

4. Verwenden Sie die Anweisung

SELECT group_concat(town) FROM `players`
Nach dem Login kopieren

Das Ergebnis ist:

group_concat(town)

Changsha, Beijing, Changsha, Beijing

Schlussfolgerung: Die Funktion group_concat() muss zusammen mit verwendet werden die Gruppierung nach Anweisung, um den gewünschten Effekt zu erzielen.

Der Grund kann wie folgt verstanden werden: group_concat() ruft alle Mitglieder ab, die zur Gruppe x gehören (die Spaltenparameter in der Funktion geben an, welche Felder angezeigt werden müssen). Woher kam Gruppe x? Wenn keine Gruppe nach angegeben ist, gibt es keine Möglichkeit zu wissen, welche Gruppe group_concat() die Mitglieder entsprechend anzeigt. Wenn daher keine Gruppierung nach-Klausel wie oben vorhanden ist, werden Changsha und Beijing angezeigt.

Wann wird diese Funktion eigentlich benötigt?

Angenommen, das Abfrageergebnis lautet wie folgt: Der Gruppenname wird links angezeigt und alle Mitgliedsinformationen der Gruppe werden rechts angezeigt. Mit dieser Funktion können Sie viele Dinge sparen.

Außerdem, wenn ich es so verwende: SELECT group_concat( name, sex ) FROM `players` town. Es macht nicht viel Sinn. Der beste Fall ist, dass group_concat() eine Spalte angibt. Wenn mehrere Spalten angegeben sind. Dann sieht das Anzeigeergebnis etwa so aus:

group_concat(name,sex)
Nach dem Login kopieren

Wang Tao, Wang Xiaoming männlich, Liu Huinv, Shu Ming weiblich

Das obige ist der detaillierte Inhalt vonZusammenfassung der Verwendung der Funktion „group_concat()' in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage