我想选择列的不同值,并使用附加子句,该值的多行应满足所有条件(其中)。
例如,在下表中我想说:“区别Name
key=1 AND value=2
和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
答案 0 :(得分:3)
将group by
与having
一起使用。 having
中的条件被视为布尔值,返回1表示true,0表示false。
select name
from t
group by name
having sum(key=1 and value=2)=1 and sum(key=2 and value=2)=1