如何使用concat压缩多行

时间:2012-10-02 18:48:22

标签: mysql sql string concat workbench

假设我在数据库中有一个表COG,并且COG表中的每个COG都可以链接到第二个表中的一个或多个生物。如果我加入这些,我最终会为每个有机体多次复制COG。

我想生成一个查询,相反,使用concat_ws()(即CSV格式)将链接到给定COG的每个有机体放入一个字符串中。

我尝试过使用:     GROUP BY concat_ws(',',organism.name)

但那没用。

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

您正在寻找GROUP_CONCAT功能:

SELECT c.ID, GROUP_CONCAT(o.name)
    FROM COG c
        INNER JOIN organism o
            ON c.ID = o.COG_ID
    GROUP BY c.ID;