对于在MYSQL的同一列中过滤不同的值,我有什么想法或建议。
我尝试过的操作,
SELECT * FROM (select * FROM `testschema.pd` where status <> 2) alldata where status =1 order by week desc
作为图片, 值1 =打开,2 =拒绝,5 =关闭, 我想过滤掉那些已经显示为2(已拒绝)和5(已关闭)的1(打开)文件。
答案 0 :(得分:0)
我假设id到状态的映射是一对一的。
您有以下数据,
Table : temp
id status
181689 1
181689 5
181690 1
181690 5
181691 1
181691 2
要查找打开和关闭的记录,可以使用
select id from temp
where status in (1, 5)
group by id
having count(status) > 1
order by id;
答案 1 :(得分:-1)
我认为您需要过滤状态为1(打开)和2(已拒绝)的数据。 从SQL过滤器中,您需要删除状态5(关闭)。
为此,您可以使用以下查询。
SELECT * FROM alldata
WHERE status IN ('1', '2');
以上查询将过滤状态为1和2的数据。