首页 > 解决方案 > 返回值 X,其中所有值符合其他列中的条件的行

问题描述

我需要返回一个数字列表,其中具有相同数字的所有行都符合另一列中的标准。

例如,具有相同“num”的所有行在 Check-in 列中必须具有非空值。

num| Check-in

 1| null
 1| X
 1| X
 2| X
 2| X
 3| X 
 3| X

期望回报:2, 3

我知道必须有一种简单的方法来做到这一点而无需循环!谢谢!

标签: sql

解决方案


您可以尝试使用过滤器进行分组having,这里它将每组中的行数与每组中不匹配的行数进行比较null,您只想要计数匹配的那些行。

select num
from t
group by num
having Count(*)=count(checkin);

推荐阅读