MySql x 行与 x-1 相似列,合并最后一列

标签 mysql sql database row

我有一个 mysql 表,其中有几个这样的值

id    name  number  value
------------------------------------
1     John    3      blue
1     John    3      red
1     John    3      green
2     Aly     2      red
2     Aly     2      blue
3     Sam     1      green
4     Tiad    6      white
5     Krix    5      orange

是否有 SQL 命令可以将这些值分组或组合到一行中,并将最后一列的值作为用逗号分隔的值放入该行中?所以基本上,什么命令可以将上表更改为

id    name  number  value
------------------------------------
1     John    3      blue, red, green
2     Aly     2      red, blue
3     Sam     1      green
4     Tiad    6      white
5     Krix    5      orange

有这样的命令吗?

最佳答案

你可以尝试这样的事情

更新:

SELECT id,name,number, GROUP_CONCAT(value SEPARATOR ', ') AS value

 FROM yourtable GROUP BY id

关于MySql x 行与 x-1 相似列,合并最后一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28486042/

相关文章:

sql server 显示缺失日期

mysql - 创建 SQL 触发器

mysql - 主键是否可以由一个表或另一个表确定?

mysql - 获取与 MAX 列关联的其他列

mysql - RDS MySQL、Kinesis Firehose 和 Elasticsearch,初始数据加载?

python - 从文件中读取并将值作为sql中的参数传递

java - 如何创建java桌面应用程序数据库?

mysql - 如何从数据库中删除?

mysql - 如何在 MYSQL 中通过另一列选择具有 MAX(列值)、PARTITION 的行?

mysql - SQL数据库查询: Count(Distinct)