簡體   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