【问题标题】:MySql x rows with x-1 similar columns, combine last columnMySql x 行与 x-1 类似列,合并最后一列
【发布时间】:2018-03-29 21:01:17
【问题描述】:

我有一个 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

有这样的命令吗?

【问题讨论】:

  • 您使用的是哪个 RDBMS?

标签: mysql sql database row


【解决方案1】:

你可以试试这样的

更新:

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

 FROM yourtable GROUP BY id

【讨论】:

  • 这会返回除连接的列值之外的所有列值吗?我正在对其进行测试,但我只是问,因为我在任何地方都看不到选择数字列的命令,所以这将如何工作?
  • 这行得通。感谢帮助的朋友。它完全按预期工作。 :D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-04
  • 1970-01-01
  • 2016-03-24
  • 2022-06-10
  • 2011-09-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多