2016-04-14 16 views
-1

我有這樣的表,其中VARCHAR具有相同名稱的所有值:MySQL查詢:在單行

| 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 ', ',但我不明白怎麼組與他的所有值的名稱。

回答

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 
1
SELECT name, GROUP_CONCAT(value) as value FROM table_name group by name