Heim >Datenbank >MySQL-Tutorial >Wie verkette ich Zeichenfolgen aus mehreren Zeilen in MySQL mithilfe von GROUP BY?
Verwenden Sie GROUP BY von MySQL, um mehrzeilige Zeichenfolgen zu verbinden
Eine häufige Aufgabe bei Datenbankoperationen ist das Verketten mehrzeiliger Zeichenfolgen. In MySQL bietet die GROUP BY-Klausel eine praktische Möglichkeit, dies zu erreichen.
Die Aufgabe besteht darin, die Tabelle wie unten gezeigt umzuwandeln:
foo_id | foo_name |
---|---|
1 | A |
1 | B |
2 | C |
Konvertieren in:
foo_id | foo_name |
---|---|
1 | A B |
2 | C |
Die Lösung besteht darin, die Funktion GROUP_CONCAT und die GROUP BY-Klausel zu verwenden:
<code class="language-sql">SELECT foo_id, GROUP_CONCAT(foo_name SEPARATOR ' ') FROM table GROUP BY foo_id;</code>
Lassen Sie uns die Aussage aufschlüsseln:
GROUP_CONCAT
: Diese Funktion verkettet die Nicht-NULL-Werte jeder Gruppe in der angegebenen Spalte (in diesem Fall foo_name). GROUP BY foo_id
: Diese Klausel gruppiert die Zeilen nach der foo_id-Spalte und stellt sicher, dass der Join-Vorgang für jeden eindeutigen foo_id-Wert ausgeführt wird. SEPARATOR ' '
(optional): Dies gibt das Zeichen an, das zum Trennen verketteter Werte verwendet wird („ fügt ein Leerzeichen zwischen Namen hinzu). In unserem Beispiel verkettet diese Funktion die foo_name-Werte für jede foo_id, um die gewünschte Ausgabe zu erhalten.
Weitere Informationen zu GROUP_CONCAT finden Sie in der MySQL-Dokumentation: https://www.php.cn/link/18fc3b6cc1e55ccea877c161e2e9ba27.
Das obige ist der detaillierte Inhalt vonWie verkette ich Zeichenfolgen aus mehreren Zeilen in MySQL mithilfe von GROUP BY?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!