繁体   English   中英

GROUP_CONCAT 不同条件的同一列

[英]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)

如果12group_id的唯一值,则删除WHERE子句。

请参阅演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM