繁体   English   中英

MySQL Query:如何选择没有特定值的行?

[英]MySQL Query: How to select rows that don't have a certain value?

我在编写查询时遇到问题,我甚至不知道是否可能。 以此表为例:

id   group  active  

1    A      NO  
2    A      YES  
3    A      NO  

4    B      YES  
5    B      NO  

6    C      NO  
7    C      NO  

上表只是一个例子。 在实际表中,这些树有更多的列,所以有这些。 我需要的是一种只选择没有任何活动行的组名的方法。 在这种情况下,“A”和“B”组至少有一行“active”=“YES”,但如果你看C,则没有活动行。 作为结果,我唯一需要的是组列值(在这种情况下为“C”)而不是整行。

这可能吗?

SELECT DISTINCT group FROM table WHERE group NOT IN
    (SELECT DISTINCT group FROM table WHERE active = 'YES')

您首先要获取要排除的所有组,然后使用NOT IN子句返回不在该列表中的所有其他组。

SELECT DISTINCT t.group 
FROM table t
WHERE t.group NOT IN 
    (SELECT DISTINCT t.group 
     FROM table t 
     WHERE t.active='YES');

暂无
暂无

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

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