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