我对在mysql中过滤同一列中的不同值有什么想法或建议吗。我试过的是:,
SELECT * FROM (select * FROM `testschema.pd` where status <> 2) alldata where status =1 order by week desc
作为图像,值1=打开,2=拒绝,5=关闭,我想过滤掉那些1(打开)已经被2(拒绝)和5(关闭)没有显示的文档。
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;
x8diyxa72#
我认为您需要过滤状态为1(打开)和2(拒绝)的数据。从sql筛选器中,需要删除状态5(已关闭)。为此,您可以使用下面的查询。
SELECT * FROM alldata WHERE status IN ('1', '2');
上述查询过滤状态为1和2的数据。
2条答案
按热度按时间djp7away1#
我假设id到状态的Map是一对一的。
你有以下数据,
要查找打开和关闭的记录,可以使用,
x8diyxa72#
我认为您需要过滤状态为1(打开)和2(拒绝)的数据。从sql筛选器中,需要删除状态5(已关闭)。
为此,您可以使用下面的查询。
上述查询过滤状态为1和2的数据。