假設我有如下表:MySQL的GROUP_CONCAT重新排列值
ID|Col1 |Col2
1 |Test1 |Test12
2 |Test2 |Test22
2 |Test3 |Test32
當我使用類似的查詢:
SELECT GROUP_CONCAT(Col1) as First, GROUP_CONCAT(Col2) as Second WHERE ID=2 GROUP BY ID
有時候返回GROUP_CONCAT的重新排列。例如:
ID|First |Second
2 |Test2,Test3|Test32,Test22
雖然我希望它返回:
ID|First |Second
2 |Test2,Test3|Test22,Test32
正如你可以看到,它在切換名爲「二」列連接值。我怎樣才能防止這種情況發生?
使用'GROUP_CONCAT(Col2 ORDER BY Col2)'。因爲在SQL表中沒有固有的順序,所以'GROUP_CONCAT'返回的順序是* arbitray *。 –
你在哪裏指定了排序? –
@BoundaryImposition我假設GROUP_CONCAT會通過附加發現的行像row1,row2,row3等來返回它。但顯然它不是 –