Heim >Datenbank >MySQL-Tutorial >Wie kann ich Strings in MySQL mit GROUP BY verketten?

Wie kann ich Strings in MySQL mit GROUP BY verketten?

Barbara Streisand
Barbara StreisandOriginal
2025-01-21 20:26:17274Durchsuche

How Can I Concatenate Strings in MySQL Using GROUP BY?

Doppelte Einträge in MySQL mit GROUP_CONCAT kombinieren

Diese Anleitung erklärt, wie man Zeilen mit identischen foo_id-Werten zusammenführt und ihre entsprechenden foo_name-Einträge in einer einzigen Zeichenfolge innerhalb einer MySQL-Tabelle verkettet.

Die Lösung: GROUP_CONCAT und GROUP BY

Die GROUP_CONCAT-Funktion von MySQL löst dieses Problem effizient, wenn sie in Verbindung mit GROUP BY verwendet wird. Hier ist die Abfrage:

<code class="language-sql">SELECT id, GROUP_CONCAT(name SEPARATOR ' ') FROM table GROUP BY id;</code>

Abfrageaufschlüsselung:

  • SELECT id, GROUP_CONCAT(name SEPARATOR ' '): Dadurch wird die Spalte id ausgewählt und mit GROUP_CONCAT werden die Werte der Spalte name für jede Gruppe kombiniert. Das SEPARATOR ' ' gibt ein Leerzeichen als Trennzeichen zwischen verketteten Namen an.
  • FROM table: Gibt die Tabelle an, die die Daten enthält.
  • GROUP BY id: Gruppiert die Zeilen basierend auf den eindeutigen Werten in der Spalte id.

Wie es funktioniert:

GROUP_CONCAT aggregiert Nicht-NULL-Werte aus jeder durch GROUP BY definierten Gruppe. Das Trennzeichen gewährleistet die Lesbarkeit, indem es Leerzeichen zwischen den verketteten Namen setzt. Dadurch werden Zeilen mit demselben id effektiv zusammengeführt und eine einzelne Zeile erstellt, in der alle zugehörigen Namen in einer Zeichenfolge zusammengefasst sind.

Weiterführende Literatur:

Ausführlichere Informationen zu GROUP_CONCAT finden Sie in der offiziellen MySQL-Dokumentation: https://www.php.cn/link/18fc3b6cc1e55ccea877c161e2e9ba27

Das obige ist der detaillierte Inhalt vonWie kann ich Strings in MySQL mit GROUP BY verketten?. 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