Heim >Datenbank >MySQL-Tutorial >MySQL: Eine kurze Einführung in die Verwendung von concat und group_concat
Die Funktion der concat()-Funktion: Mehrere Zeichenfolgen zu einer Zeichenfolge verketten. Syntax: concat(str1, str2,...) gibt die durch die Verbindungsparameter generierte Zeichenfolge zurück. Wenn einer der Parameter null ist, ist der Rückgabewert null.
group_concat wandelt mehrzeilige Werte nach der Gruppierung in eine Zeile um. Die ursprünglichen Werte in jeder Zeile werden durch Kommas getrennt
Hinweis:
Die in verwendeten Beispiele Diese Artikel sind alle unten aufgeführt. Ausführen unter Datenbanktabelle tt2:
1. concat()-Funktion
1. 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 a Das Verhalten ist null, da es in der tt2-Tabelle eine Zeile mit einem Score-Wert von null gibt.
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 sehr schwierig, die SQL-Anweisung zweimal einzugeben. Wenn es 10 gibt Felder, Kommas müssen neunmal eingegeben werden ... Das ist sehr mühsam. Okay, gibt es eine einfache Möglichkeit? ——Dann ist concat_ws() hier, das das Trennzeichen zwischen Parametern angeben kann! ! !
2. concat_ws()-Funktion
1. Funktion: Wie concat(), verketten Sie mehrere Zeichenfolgen zu einer A-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 zu Null:
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 es erscheint sehr unintuitiv, wenn derselbe Name mehrmals vorkommt . . 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 die Gruppierung nach Namen Alle IDs in jeder Gruppe. Als nächstes müssen wir die IDs und Scores aller nach Namen gruppierten Gruppen abfragen:
Verwandte Artikel:
Unterschiede zwischen concat und concat_ws() und Group_concat(), Repeat() String-Funktion Verwendung von GROUP BY in Kombination mit GROUP_CONCAT in MySQLDas obige ist der detaillierte Inhalt vonMySQL: Eine kurze Einführung in die Verwendung von concat und group_concat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!