2011-10-24 63 views
0

我想知道是否有可能在mysql表中選擇多個行,但將它們全部顯示爲以逗號分隔的一個值,例如。選擇很多值,但在MYSQL中顯示爲一個

所以,如果我有一個表

Name  Color 
--------------------- 
A   Red 
B   Blue 
A   Green 

我可以選擇顏色,其中名稱= 'A';但兩者的值到一個這樣的,因爲它會返回

紅,綠

綠色,紅色

而不是

Red 
Green 

感謝

+0

投票關閉:可能重複[MySQL結果爲逗號分隔列表](http://stackoverflow.com/questions/662207/mysql-results-as-comma-separated-list)這個問題幾乎每天都會被詢問幾乎每種RDBMS的味道。 –

回答

4
SELECT name, 
    GROUP_CONCAT(DISTINCT color 
       ORDER BY color DESC SEPARATOR ',') 
    FROM table 
    GROUP BY name; 

我已經加入的情況下,要顯示比逗號(,)其他東西SEPARATOR關鍵字。逗號是默認值。 Click here瞭解更多詳情。

+0

非常感謝,我很欣賞這個工作示例。 – Jeff

2

使用GROUP BY結合GROUP_CONCAT

SELECT Name, GROUP_CONCAT(COLOR) FROM yourtable GROUP BY Name; 

查詢未經檢驗

+0

非常感謝!尋找GROUP_CONCAT。 – Jeff

相關問題