如何通过同时拥有标志 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 存储库的人共享代码?

如何在 Bash 中获取带有标志的参数

如何在分页之前获取不同行的总数?

如何获取不同行中的文件名列表

如何从一列的不同行中获取值以分隔列

如何在使用 AFNetworking 的 iOS 应用程序上通过蜂窝数据连接互联网的同时通过 WiFi 拥有 FlashAir 接入点?