Ich möchte die Ergebnisse in einer GROUP_CONCAT-Funktion bestellen. Das Problem ist, dass die Auswahl in der GROUP_CONCAT-Funktion ist eine weitere Funktion, wie folgt aus (Fantasie wählen):Bestellung in einem MySQL-GROUP_CONCAT mit einer Funktion darin
SELECT a.name,
GROUP_CONCAT(DISTINCT CONCAT_WS(':', b.id, c.name) ORDER BY b.id ASC) AS course
FROM people a, stuff b, courses c
GROUP BY a.id
Ich möchte ein Ergebnis erhalten, wie (von b.id bestellen):
michael 1:science,2:maths,3:physics
aber ich bekomme:
michael 2:maths,1:science,3:physics
Wer weiß, wie ich durch b.id in meinem Group_concat hier bestellen können?
[GROUP_CONCAT] (http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat) unterstützt seine eigene 'ORDER BY-Klausel ... Wenn Sie nicht wissen, was die benutzerdefinierte Funktion ist oder nicht, können wir Ihnen nicht helfen. –
Es ist genau wie ich geschrieben habe: die Funktion "concat_ws" innerhalb der Funktion "group_concat". Ich habe nie gesagt, dass es eine benutzerdefinierte Funktion ist. – acme
Es ist unklar, wie man eine gültige Lösung schreibt, da die Tabellenstruktur, der Inhalt und die Beziehungen zwischen den Tabellen nicht spezifiziert sind (d.h. es gibt keine Join-Spezifikationen). – outis