假设我在数据库中有一个表COG,并且COG表中的每个COG都可以链接到第二个表中的一个或多个生物。如果我加入这些,我最终会为每个有机体多次复制COG。
我想生成一个查询,相反,使用concat_ws()(即CSV格式)将链接到给定COG的每个有机体放入一个字符串中。
我尝试过使用: GROUP BY concat_ws(',',organism.name)
但那没用。
有什么建议吗?
答案 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;