MySql查询:单行中具有相同名称的所有值

时间:2016-04-14 10:57:25

标签: mysql

我有这个表,其中 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 ', ',但我无法理解如何将该名称与其所有价值分组。

3 个答案:

答案 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