假设我有如下表: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等来返回它。但显然它不是 –