DOWNVOTE Es ist wirklich verwirrend, eine Spaltenzeichenfolge zu benennen und ihr einen Namen zu geben, der wie ein Datentyp aussieht. Alle Antworten sind also auch davon betroffen, da die Antworten so aussehen, als würden sie einen Datentyp
angeben,
2
@barlop hat das behoben, indem Fragen und Antworten bearbeitet wurden.
Über den obigen Link GROUP_CONCAT: Diese Funktion gibt ein Zeichenfolgenergebnis mit den verketteten Nicht-NULL-Werten einer Gruppe zurück. Es gibt NULL zurück, wenn keine Nicht-NULL-Werte vorhanden sind.
Über den obigen Link GROUP_CONCAT: Diese Funktion gibt ein Zeichenfolgenergebnis mit den verketteten Nicht-NULL-Werten einer Gruppe zurück. Es gibt NULL zurück, wenn keine Nicht-NULL-Werte vorhanden sind.
: - In MySQL können Sie die verketteten Werte von Ausdruckskombinationen abrufen. Verwenden Sie die DISTINCT- Klausel, um doppelte Werte zu entfernen . Verwenden Sie die ORDER BY-Klausel, um Werte im Ergebnis zu sortieren. Um in umgekehrter Reihenfolge zu sortieren , fügen Sie das Schlüsselwort DESC (absteigend) zum Namen der Spalte hinzu, nach der Sie in der ORDER BY-Klausel sortieren. Die Standardeinstellung ist aufsteigende Reihenfolge. Dies kann explizit mit dem Schlüsselwort ASC angegeben werden. Das Standardtrennzeichen zwischen Werten in einer Gruppe ist Komma (","). Um ein Trennzeichen explizit anzugeben, verwenden Sie SEPARATOR, gefolgt von dem Zeichenfolgenliteralwert, der zwischen Gruppenwerten eingefügt werden soll. Geben Sie SEPARATOR '' an, um das Trennzeichen vollständig zu entfernen .
Das Ergebnis wird auf die maximale Länge gekürzt, die von der Systemvariablen group_concat_max_len angegeben wird, die einen Standardwert von 1024 Zeichen hat. Wir machen also zuerst Folgendes:
Das Ergebnis wird auf die maximale Länge gekürzt, die von der Systemvariablen group_concat_max_len angegeben wird, die einen Standardwert von 1024 Zeichen hat. docs
marlo
Was ist der Umfang dieser group_concat_max_lenKonfiguration? Aktuelle Verbindung / Sitzung oder wirkt sich dies auf andere Clients aus?
Dies beantwortet nicht die Frage des OP, sondern fügt lediglich hilfreiche Informationen hinzu. Dies sollte ein Kommentar sein, keine Antwort.
Sean the Bean
1
Vielen Dank für dieses Code-Snippet, das möglicherweise nur begrenzte, sofortige Hilfe bietet. Eine richtige Erklärung würde ihren langfristigen Wert erheblich verbessern, indem sie zeigt, warum dies eine gute Lösung für das Problem ist, und es für zukünftige Leser mit anderen, ähnlichen Fragen nützlicher machen. Bitte bearbeiten Sie Ihre Antwort, um eine Erklärung hinzuzufügen, einschließlich der von Ihnen getroffenen Annahmen.
Donald Duck
11
Tolle Antworten. Ich hatte auch ein Problem mit NULLS und konnte es lösen, indem ich eine COALESCE in die GROUP_CONCAT einfügte. Beispiel wie folgt:
Antworten:
http://dev.mysql.com/doc/refman/5.0/de/group-by-functions.html#function_group-concat
Über den obigen Link
GROUP_CONCAT
: Diese Funktion gibt ein Zeichenfolgenergebnis mit den verketteten Nicht-NULL-Werten einer Gruppe zurück. Es gibt NULL zurück, wenn keine Nicht-NULL-Werte vorhanden sind.quelle
Weitere Details hier .
Über den obigen Link
GROUP_CONCAT
: Diese Funktion gibt ein Zeichenfolgenergebnis mit den verketteten Nicht-NULL-Werten einer Gruppe zurück. Es gibt NULL zurück, wenn keine Nicht-NULL-Werte vorhanden sind.quelle
Gibt Ihnen eine durch Kommas getrennte Zeichenfolge
quelle
: - In MySQL können Sie die verketteten Werte von Ausdruckskombinationen abrufen. Verwenden Sie die DISTINCT- Klausel, um doppelte Werte zu entfernen . Verwenden Sie die ORDER BY-Klausel, um Werte im Ergebnis zu sortieren. Um in umgekehrter Reihenfolge zu sortieren , fügen Sie das Schlüsselwort DESC (absteigend) zum Namen der Spalte hinzu, nach der Sie in der ORDER BY-Klausel sortieren. Die Standardeinstellung ist aufsteigende Reihenfolge. Dies kann explizit mit dem Schlüsselwort ASC angegeben werden. Das Standardtrennzeichen zwischen Werten in einer Gruppe ist Komma (","). Um ein Trennzeichen explizit anzugeben, verwenden Sie SEPARATOR, gefolgt von dem Zeichenfolgenliteralwert, der zwischen Gruppenwerten eingefügt werden soll. Geben Sie SEPARATOR '' an, um das Trennzeichen vollständig zu entfernen .
ODER
quelle
Das Ergebnis wird auf die maximale Länge gekürzt, die von der Systemvariablen group_concat_max_len angegeben wird, die einen Standardwert von 1024 Zeichen hat. Wir machen also zuerst Folgendes:
und dann zum Beispiel:
quelle
group_concat_max_len
Konfiguration? Aktuelle Verbindung / Sitzung oder wirkt sich dies auf andere Clients aus?Tolle Antworten. Ich hatte auch ein Problem mit NULLS und konnte es lösen, indem ich eine COALESCE in die GROUP_CONCAT einfügte. Beispiel wie folgt:
Hoffe das hilft jemand anderem
quelle