mysql多个group_concat命令保存

cou*_*ech 2 mysql sql group-by group-concat

假设我有一张表格mytable:

select * from mytable:

+------+------+------+ | a | b | c | +------+------+------+ | 1 | 1 | a | | 1 | 2 | b | +------+------+------+ 我想用功能将bc列分组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在第三列?

Rob*_*sen 6

您可以ORDER BYGROUP_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)