GROUP_CONCAT
Entsprechung in PostgreSQL:
Verbindet die Werte einer Gruppe von Zeilen zu einem String mit Trennzeichen.
MySQL 8.1
GROUP_CONCAT([DISTINCT] expr [ORDER BY ...] [SEPARATOR str])Parameter
- DISTINCTSchlüsselwortoptional
- Nur eindeutige Werte verbinden
- expr
- Ausdruck, dessen Werte verbunden werden
- ORDER BYoptional
- Reihenfolge der Werte im String; ohne sie ist die Reihenfolge nicht garantiert
- SEPARATOR strVARCHARoptional
- Trennzeichen, standardmäßig ein Komma ohne Leerzeichen
Rückgabewert
String; NULL-Werte werden übersprungen, NULL, wenn alle Werte NULL sind
Beispiele
Alle Namen in einem String
MySQL 8.1
SELECT GROUP_CONCAT(member_name)
FROM FamilyMembers;Eindeutige Status mit Kommas
MySQL 8.1
SELECT GROUP_CONCAT(
DISTINCT status
ORDER BY status SEPARATOR ', '
) AS statuses
FROM FamilyMembers;Namen nach Status
MySQL 8.1
SELECT status,
GROUP_CONCAT(
member_name
ORDER BY member_name SEPARATOR ', '
) AS members
FROM FamilyMembers
GROUP BY status;Details
Ohne ORDER BY kommen die Werte in der Reihenfolge, in der der Server sie gelesen hat, und sie kann sich von Lauf zu Lauf ändern. Standardmäßig wird das Ergebnis auf 1024 Bytes gekürzt (Variable group_concat_max_len), mit einer Warnung und ohne Fehler.