mysql多group_concat顺序保存

标签 mysql sql group-by group-concat

假设我有一张 table 我的 table :

从 mytable 中选择 *:

+-----+-----+-----+ |一个 |乙 | c | +-----+-----+-----+ | 1 | 1 |一个 | | 1 | 2 |乙 | +-----+-----+-----+ 我想用 group_concat 函数对 bc 列进行分组:

从 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/

相关文章:

mysql - varchar 到日期时间

php - 数据库中每件商品的价格历史记录

android - 获取 SQLiteDatabase 中的特定行不起作用

mysql - 根据计数标准在 MySQL 中选择行时出错

mysql - 按年和月计算总数

postgresql - 按间隙时间分组 - PostgreSQL

mysql - MYSQLI警告:如何禁用它

c# - 当我在数据库中进行更改时,是否会触发 RowChanged 事件?

sql - pyspark中的DataFilter是什么?

sql - AND子句无法在配置单元中使用