过滤同一列中的不同值

mec1mxoz  于 2021-06-15  发布在  Mysql
关注(0)|答案(2)|浏览(272)

我对在mysql中过滤同一列中的不同值有什么想法或建议吗。
我试过的是:,

SELECT * FROM (select  * FROM `testschema.pd` where status <> 2)  alldata where status =1 order by week desc


作为图像,值1=打开,2=拒绝,5=关闭,我想过滤掉那些1(打开)已经被2(拒绝)和5(关闭)没有显示的文档。

djp7away

djp7away1#

我假设id到状态的Map是一对一的。
你有以下数据,

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;
x8diyxa7

x8diyxa72#

我认为您需要过滤状态为1(打开)和2(拒绝)的数据。从sql筛选器中,需要删除状态5(已关闭)。
为此,您可以使用下面的查询。

SELECT * FROM alldata
WHERE status IN ('1', '2');

上述查询过滤状态为1和2的数据。

相关问题