Heim  >  Artikel  >  Datenbank  >  Eine kurze Analyse der Verwendung von concat und group_concat in MySQL

Eine kurze Analyse der Verwendung von concat und group_concat in MySQL

jacklove
jackloveOriginal
2018-06-14 17:07:082417Durchsuche

Die in diesem Artikel verwendeten Beispiele werden alle unter der folgenden Datenbanktabelle tt2 ausgeführt:


1. concat()-Funktion

Funktion: Mehrere Zeichenfolgen zu einer Zeichenfolge verketten.

2. Syntax: concat(str1, str2,...)

Das Rückgabeergebnis ist die durch die Verbindungsparameter generierte Zeichenfolge. Wenn einer der Parameter null ist, ist der Rückgabewert null.

3. Beispiel:

Beispiel 1: Wählen Sie Concat (ID, Name, Punktzahl) als Info aus tt2;


Es gibt eine Zeile in der Mitte, die null ist, weil der Score-Wert einer Zeile in der tt2-Tabelle null ist.

Beispiel 2: Im Ergebnis von Beispiel 1 hat die Kombination der drei Felder ID, Name und Score kein Trennzeichen. Wir können ein Komma als Trennzeichen hinzufügen:


Das scheint für das Auge viel angenehmer zu sein~~

Aber es ist viel mühsamer, die SQL-Anweisung einzugeben. Sie müssen für drei Felder zweimal Kommas eingeben . Wenn es 10 Felder gibt, müssen Sie neun Mal Kommas eingeben. Das ist so mühsam. ——Dann ist concat_ws() hier, das das Trennzeichen zwischen Parametern angeben kann! ! !


2. Funktion concat_ws()

1. Funktion: Wie concat(), verkettet mehrere Zeichenfolgen zu einer Zeichenfolge. aber Sie können das Trennzeichen sofort angeben ~ (concat_ws ist concat mit Trennzeichen)

2. Syntax: concat_ws(separator, str1, str2, ...)

Erklärung: Kapitel Eins Parameter spezifiziert das Trennzeichen. Es ist zu beachten, dass das Trennzeichen nicht null sein darf. Wenn es null ist, ist das Rückgabeergebnis null.

3. Beispiel:

Beispiel 3: Wir verwenden concat_ws(), um das Trennzeichen als Komma anzugeben, um den gleichen Effekt wie Beispiel 2 zu erzielen:


Beispiel 4: Geben Sie das Trennzeichen als Null an, und alle Ergebnisse werden Null:



3. Funktion „group_concat()“

Vorwort: In einer Abfrageanweisung mit „group by“ wird das durch „select“ angegebene Feld entweder nach der „group by“-Anweisung als Grundlage für die Gruppierung eingefügt, oder es ist in der Aggregatfunktion enthalten. (Für Kenntnisse über Group By klicken Sie bitte auf: Eine kurze Analyse der Verwendung von Group By in SQL).

Beispiel 5:


In diesem Beispiel wird die kleinste ID unter Personen mit demselben Namen abgefragt. Was ist, wenn wir alle IDs von Personen mit demselben Namen abfragen möchten?

Natürlich können wir so abfragen:

Beispiel 6:


Aber wenn derselbe Name mehrmals vorkommt, Es sieht sehr unintuitiv aus. Gibt es eine intuitivere Methode, bei der jeder Name nur einmal erscheint und gleichzeitig die IDs aller Personen mit demselben Namen angezeigt werden? ——Verwenden Sie group_concat()

1. Funktion: Verketten Sie die von „group by“ generierten Werte in derselben Gruppe und geben Sie ein Zeichenfolgenergebnis zurück.

2. Syntax: group_concat([distinct] Zu verbindendes Feld [Reihenfolge nach Sortierfeld auf-/absteigend] [Trennzeichen 'Trennzeichen'])

Erklärung: Duplikate können durch die Verwendung von „distinct“ eliminiert werden Wert; wenn Sie die Werte im Ergebnis sortieren möchten, können Sie die order by-Klausel verwenden. Das Trennzeichen ist ein Zeichenfolgenwert, der standardmäßig ein Komma ist.

3. Beispiel:

Beispiel 7: Verwenden Sie group_concat() und gruppieren nach, um die ID-Nummern von Personen mit demselben Namen anzuzeigen:


Beispiel 8: Sortieren Sie die oben genannten ID-Nummern von groß nach klein und verwenden Sie „_“ als Trennzeichen:


Beispiel 9: Die obige Abfrage Zeigt alle IDs in jeder Gruppe nach Namen gruppiert an. Als nächstes müssen wir die ID und den Score aller nach Namen gruppierten Gruppen abfragen:

Dieser Artikel analysiert kurz die Verwendung von concat und group_concat in MySQL. Weitere verwandte Inhalte finden Sie hier Achten Sie auf das chinesische PHP-Netz.

Verwandte Empfehlungen:

Einführung in das grafische MySQL-Verwaltungstool

Verwandte Erläuterungen zu den Grundfunktionen gespeicherter MySQL-Prozeduren

Verwendung von EXISTS in SQL

Das obige ist der detaillierte Inhalt vonEine kurze Analyse der Verwendung von concat und group_concat in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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