Angenommen, ich habe die folgende Tabelle:MySQL GROUP_CONCAT Ordnet Werte
ID|Col1 |Col2
1 |Test1 |Test12
2 |Test2 |Test22
2 |Test3 |Test32
Wenn ich eine Abfrage wie:
SELECT GROUP_CONCAT(Col1) as First, GROUP_CONCAT(Col2) as Second WHERE ID=2 GROUP BY ID
Es manchmal gibt die GROUP_CONCAT des neu geordnet. Zum Beispiel:
ID|First |Second
2 |Test2,Test3|Test32,Test22
Während ich würde erwarten, dass es zurück:
ID|First |Second
2 |Test2,Test3|Test22,Test32
Wie Sie sehen können, ist es die verketteten Werte in der Spalte mit dem Namen geschaltet ‚Zweiten‘. Wie kann ich das verhindern?
Verwenden Sie 'GROUP_CONCAT (Col2 ORDER BY Col2)'. Die von 'GROUP_CONCAT' zurückgegebene Reihenfolge ist * arbitray *, da es keine inhärente Reihenfolge in einer SQL-Tabelle gibt. –
Wo haben Sie eine Bestellung angegeben? –
@BoundaryImposition Ich nahm an, die GROUP_CONCAT würde es zurückgeben, indem sie die gefundenen Zeilen wie row1, row2, row3 usw. anhängen. Aber anscheinend tut es nicht –