【问题标题】:sql string cat as aggregate function: cat multiple records togethersql字符串cat作为聚合函数:将多条记录放在一起
【发布时间】:2011-05-18 09:20:24
【问题描述】:

我有一个包含列的表:(project_id, name)

这是一份人员名单,每个人都有自己所属的项目。如果一个人在两个项目中,则重复。

我想提取一个包含列的表: (project_id, people) 其中 people 是一个字符串 cat,其中包含从事该项目的所有人员的姓名。 cat 必须用逗号分隔,如下所示:

12, john
12, mark
12, dave
14, luke

变成

12, "john, mark, dave"
14, "luke"

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    你可以通过一个简单的查询来做到这一点

    SELECT project_id, GROUP_CONCAT(name) as people
    FROM table
    GROUP BY project_id
    

    如果你坚持逗号后有空格:

    SELECT project_id, GROUP_CONCAT(name SEPARATOR ", ") as people
    FROM table
    GROUP BY project_id
    

    【讨论】:

    • SELECT ... GROUP_CONCAT(name SEPARATOR ', ') as people FROM ...
    【解决方案2】:

    组 concat 会在这种情况下为您提供帮助

    参考这个,http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

    【讨论】:

      猜你喜欢
      • 2011-07-24
      • 2021-09-19
      • 1970-01-01
      • 1970-01-01
      • 2017-02-24
      • 2018-10-27
      • 2021-08-24
      • 1970-01-01
      相关资源
      最近更新 更多