[英]GROUP_CONCAT same column with different conditions
我试图找出一个查询以从我的表中返回一个逗号分隔的字符串。 我只使用一列作为参考,但我有 2 个条件,我不确定如何启动查询来做我想做的事。
我的身份 | group_id |
---|---|
1 | 1 |
2 | 1 |
3 | 2 |
4 | 2 |
基本上我需要一个逗号分隔的 Id 字符串匹配特定的组 ID,所以返回的数据应该返回为
ids_with_group_id_of_1 | ids_with_group_id_of_2 |
---|---|
1,2 | 3,4 |
有没有办法为 group_concat 设置不同的条件?
您可以将GROUP_CONCAT()
与条件聚合一起使用
SELECT GROUP_CONCAT(CASE WHEN group_id = 1 THEN my_id END) ids_with_group_id_of_1,
GROUP_CONCAT(CASE WHEN group_id = 2 THEN my_id END) ids_with_group_id_of_2
FROM tablename
WHERE group_id IN (1, 2)
如果1
和2
是group_id
的唯一值,则删除WHERE
子句。
请参阅演示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.