如何通过同时拥有标志 1 和 0 的人获取不同行的列表
Posted
技术标签:
【中文标题】如何通过同时拥有标志 1 和 0 的人获取不同行的列表【英文标题】:How do I get a list of distinct rows by who has both flag 1 and 0 【发布时间】:2019-04-30 17:12:01 【问题描述】:我有一张包含用户会话的表。 列 - 用户 ID、会话 ID、已完成(位)。
我想获取 Completed = 0 和 Completed = 1 的用户列表
【问题讨论】:
我们需要一个样本数据来处理它并获得所需的结果,如果您提供您尝试解决问题的方法会很好。 【参考方案1】:下面的查询将返回具有 Completed 列条目的 0 和 1 的 UserId。
SELECT UserId
FROM Users
WHERE Completed IN (0, 1)
GROUP BY UserId
HAVING COUNT(DISTINCT Completed ) = 2
【讨论】:
【参考方案2】:我愿意:
select userid
from suers
group by users
having min(completed) = 0 and max(completed) = 1;
【讨论】:
【参考方案3】: Select distinct userid from sessions where completed=1
Intersect
Select distinct userid from sessions where completed=0
相交只获取两个集合中的用户
【讨论】:
只是代码?你不认为你应该解释一下这段代码会做什么吗?以上是关于如何通过同时拥有标志 1 和 0 的人获取不同行的列表的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 git 与其他拥有 Android 存储库的人共享代码?
如何在使用 AFNetworking 的 iOS 应用程序上通过蜂窝数据连接互联网的同时通过 WiFi 拥有 FlashAir 接入点?