GROUP_CONCAT
Entsprechung in PostgreSQL:
Verbindet die Werte einer Gruppe von Zeilen zu einem String mit Trennzeichen.
MySQL 8.4
GROUP_CONCAT([DISTINCT] expr [ORDER BY sort_expression [ASC | DESC]] [SEPARATOR str])- [ ]optionaler Teil
- a | beine der Optionen
- DISTINCT
- Nur eindeutige Werte verbindenSchlüsselwortOptional
- expr
- Ausdruck, dessen Werte verbunden werden
- ORDER BY sort_expression [ASC | DESC]
- Reihenfolge der Werte im String; ohne sie ist die Reihenfolge nicht garantiertOptional
- sort_expression
- Spalte oder Ausdruck, nach dem sortiert wird
- ASC | DESC
- Richtung, standardmäßig ASCSchlüsselwortOptionalASCDESC
- SEPARATOR str
- Trennzeichen, standardmäßig ein Komma ohne LeerzeichenOptional
- str
- Trennzeichen als String; '' für gar kein TrennzeichenVARCHAR
Rückgabewert
String; NULL-Werte werden übersprungen, NULL, wenn alle Werte NULL sind
Beispiele
Alle Namen in einem String
MySQL 8.4
SELECT GROUP_CONCAT(member_name)
FROM FamilyMembers;Eindeutige Status mit Kommas
MySQL 8.4
SELECT GROUP_CONCAT(
DISTINCT status
ORDER BY status SEPARATOR ', '
) AS statuses
FROM FamilyMembers;Namen nach Status
MySQL 8.4
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.