簡體   English   中英

MYSQL:獲取列 A 中的不同值在列 B 中具有所有相同的值

[英]MYSQL: Obtaining distinct values in column A having all same value in column B

我有下表,有兩列:

ID VALUE
1  false
1  true
2  false
2  true
2  false
3  false
3  false
4  false
4  false
5  true
5  false

我需要 select 所有在 VALUE 列中只有假值的 ID。 例如,ID 1 具有假值和真值。 我的結果中不需要這一行。 在上面的示例中,我只需要 select ID:3 和 4。這些是唯一在 VALUE 列中只有假值的 ID。

謝謝

有多種方法可以解決這個問題,我是用最簡單的一種,之后你可以嘗試更多。

我只是用true過濾掉ID,然后根據ID分組

SELECT 
  t.ID 
FROM
  twocol t 
WHERE t.ID NOT IN 
  (SELECT 
    ID 
  FROM
    twocol 
  WHERE VALUE = 'true') 
GROUP BY t.`ID` ;

您可以使用group byhaving

select id
from mytable
group by id
having max(value) = 'false'

理由: 'true'大於'false' ,因此max(value) = 'false'確保組中沒有'true'值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM