MySQL查询过滤结果

时间:2018-07-02 10:19:29

标签: mysql

我没有找到解决方案,需要一个很好的提示。

这是表格:

Name,Status
A, 3
A, 4
B, 3

我希望获得状态为3的所有结果,但从未得到Status = 4的结果。

在此示例中:仅应显示B。 我的查询应如何显示? 谢谢!!

2 个答案:

答案 0 :(得分:1)

尝试一下:

Select t1.* 
from tableName t1
where t1.status =3 AND NOT EXISTS (SELECT 1 
                                   FROM TableName t2
                                   WHERE t1.Name = t2.Name AND t2.status = 4)

答案 1 :(得分:0)

select t.Name
from my_table t
where t.Status in (3,4)
group by t.Status
having group_concat(t.Status) = '3'