我有这个表,其中 value 是 varchar :
| id | name | value |
| 1 | mario | 321 |
| 2 | pizza | 455 |
| 3 | mario | 761 |
| 4 | pizza | 112 |
| 5 | hobby | 142 |
我想在单个列中提取所有值,如下所示:
| name | values |
| mario | 321, 761 |
| pizza | 455, 112 |
| hobby | 142 |
我是新手,我必须使用concat ', '
,但我无法理解如何将该名称与其所有价值分组。
答案 0 :(得分:1)
将GROUP BY
子句与GROUP_CONCAT
:
SELECT name, GROUP_CONCAT(value) AS values
FROM mytable
GROUP BY name
答案 1 :(得分:1)
您可以将GROUP BY子句与分隔符一起使用,例如','
SELECT name, GROUP_CONCAT(value SEPARATOR ', ') AS values
FROM [Put Table Name Here]
GROUP BY name
答案 2 :(得分:1)
SELECT name, GROUP_CONCAT(value) as value FROM table_name group by name