MySQL:按反向标准选择行

时间:2017-01-16 18:44:34

标签: mysql sql

我写的第一个查询是:

select t.groupNum from table1 t
JOIN table1 s
on t.groupNum=s.groupNum
and t.id!=s.id 
and t.bool='true' and s.bool='true';

此查询选择包含至少两个' true'在集团内部。正确?

我需要选择完全为零' true'值(仅限t.bool =' false'这是两个值中的第二个可能值' true' false' false')。

有任何帮助吗?

2 个答案:

答案 0 :(得分:3)

您可以使用group byhaving来执行此操作。

select groupNum
from table1
group by groupNum
having sum(bool='true') = 0

当条件为True时,MySQL将条件视为布尔值返回1,否则为0

答案 1 :(得分:1)

这个怎么样:

SELECT t.groupNum
FROM table1 t
GROUP BY t.groupNum
HAVING COUNT(t.bool = 'true') = 0;

我不确定你为什么要自我加入。 t.bool列实际上也是一个值为'true'和'false'的文本值?