cou*_*ech 2 mysql sql group-by group-concat
假设我有一张表格mytable:
select * from mytable:
+------+------+------+
| a | b | c |
+------+------+------+
| 1 | 1 | a |
| 1 | 2 | b |
+------+------+------+
我想用功能将b和c列分组group_concat:
select a, group_concat(b), group_concat(c) from mytable group by a
+------+-----------------+-----------------+
| a | group_concat(b) | group_concat(c) |
+------+-----------------+-----------------+
| 1 | 1,2 | a,b |
+------+-----------------+-----------------+
我的问题是,执行mysql的保证,那group_concat将永远以同样的顺序,我不会得到这样的结果,1,2在第二列和B,A在第三列?
您可以ORDER BY在GROUP_CONCAT函数内使用一个子句:
SELECT a,
GROUP_CONCAT(b ORDER BY b),
GROUP_CONCAT(c ORDER BY c)
FROM mytable GROUP BY a
Run Code Online (Sandbox Code Playgroud)