2016-02-13 145 views
1

我有一种情况,需要按特定字段对SQL结果进行分组,同时我需要特定列的所有值对在一个现场返回的分组的行(像这样值1,值2,值3等)GROUP BY由SQL中的一个字段组成并将所有分组行的特定字段组合到一列

示例数据:

NAME id 
john 1 
john 2 
john 3 
maria 4 
maria 5 

结果我需要:

john 1,2,3 
maria 4,5 

这是可能的,以及如何?

+2

在MySQL中,您可以使用'GROUP_CONCAT'。 –

+0

非常感谢。我知道它必须简单,我只是不知道如何谷歌这一点 – sakattack

回答

0

这是可能的,这里是GROUP_CONCAT的一个简单例子,你可以在运行这个/执行它之后得到你想要的输出。这个例子还有一个分隔符',',所以你可以快速理解这些事情。

GROUP_CONCAT函数返回一个字符串结果,其中包含组合的非空值。如果没有非NULL值,则返回NULL

SELECT name, 
    GROUP_CONCAT(DISTINCT id ORDER BY id DESC SEPARATOR ', ') 
    FROM table_name 
GROUP BY name; 

这可能对您有所帮助。

相关问题