GROUP BY SQL中的一个字段,并将所有分组行的特定字段合并为一列

时间:2016-02-13 02:35:38

标签: mysql

我遇到需要按特定字段对SQL结果进行分组的情况,同时我需要在一个字段中返回分组行的特定列的所有值(如value1,value2,value3)等)

示例数据:

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

我需要的结果:

john 1,2,3
maria 4,5

这可能吗?如何?

1 个答案:

答案 0 :(得分:0)

这是可能的,这是GROUP_CONCAT的简单示例,您可以在运行此命令后获得所需的输出/执行此操作。该示例还带有分隔符',',因此您可以快速了解这些内容。

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

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

这可能会对你有帮助。