簡體   English   中英

當滿足其他列上的多個子句時,選擇不同的列值

[英]Select distinct column value when multiple clauses on other columns are satisfied

我想選擇一個列的不同值,並帶有附加子句,該值的多個行應滿足所有條件(在它們當中)。

例如,在下表中,我要說:“不同的Name ,其中key=1 AND value=2 AND key=2 AND value=2 ”。

這應該只返回“有效”。 “ invalid1”失敗,因為盡管它滿足第一個條件,但沒有其他行滿足其他條件。 “ invalid2”失敗,因為它既不滿足任何條件。

id         Name      Key       Value
======   =========   ====   ===========
1           valid     1          2
2           valid     2          2
3          invalid1   1          2
4          invalid2   1          3

having使用group by having的條件被視為布爾值,對於true返回1,對於false返回0。

select name
from t
group by name
having sum(key=1 and value=2)=1 and sum(key=2 and value=2)=1

暫無
暫無

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

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