选择多个值但在MYSQL中显示为一个

时间:2011-10-24 14:10:03

标签: mysql

我想知道是否可以在mysql表中选择多个行,但是将它们全部显示为一个以逗号分隔的值。

所以,如果我有一张桌子

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

我可以选择Color,其中Name ='A';但是这两个值都会返回

  

红色,绿色

  

绿色,红色

而不是

Red
Green

由于

2 个答案:

答案 0 :(得分:4)

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

我添加了SEPARATOR关键字,以防您想要显示逗号(,)以外的内容。逗号是默认值。 Click here了解更多详情。

答案 1 :(得分:2)

GROUP BYGROUP_CONCAT结合使用:

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

查询未经测试的