假设我有一张 table 我的 table :
从 mytable 中选择 *
:
+-----+-----+-----+
|一个 |乙 | c |
+-----+-----+-----+
| 1 | 1 |一个 |
| 1 | 2 |乙 |
+-----+-----+-----+
我想用 group_concat
函数对 b 和 c 列进行分组:
从 mytable 组中选择 a, group_concat(b), group_concat(c)
+------+----------------+----------------+
|一个 |组连接(b) |组连接(c) |
+------+----------------+----------------+
| 1 | 1,2 |一个,乙 |
+------+----------------+----------------+
我的问题是,mysql 是否保证 group_concat
将始终以相同的顺序排列,我不会在第二列中得到像 1, 2 这样的结果,并且b, a 在第三列?
最佳答案
您可以在 GROUP_CONCAT
中使用 ORDER BY
子句功能:
SELECT a,
GROUP_CONCAT(b ORDER BY b),
GROUP_CONCAT(c ORDER BY c)
FROM mytable GROUP BY a
关于mysql多group_concat顺序保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24586485/