Php 过滤同一列中的不同值

Php 过滤同一列中的不同值,php,mysql,Php,Mysql,请问我对在MYSQL中过滤同一列中的不同值有什么想法或建议 我试过的是: SELECT * FROM (select * FROM `testschema.pd` where status <> 2) alldata where status =1 order by week desc 作为形象,, 值1=打开,2=拒绝,5=关闭, 我想筛选出那些1打开、2已拒绝、5已关闭的文档,但这些文档没有显示。我认为您需要筛选状态为1打开、2已拒绝的数据。 从SQL筛选器中,需要删除状态

请问我对在MYSQL中过滤同一列中的不同值有什么想法或建议

我试过的是:

SELECT * FROM (select  * FROM `testschema.pd` where status <> 2)  alldata where status =1 order by week desc
作为形象,, 值1=打开,2=拒绝,5=关闭,
我想筛选出那些1打开、2已拒绝、5已关闭的文档,但这些文档没有显示。

我认为您需要筛选状态为1打开、2已拒绝的数据。 从SQL筛选器中,需要删除状态5closed

为此,您可以使用下面的查询

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

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

我假设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;

可能按ID分组,然后按1-5列分组,然后使用集合中的查找或正则表达式。@user3783243在我尝试了您建议的一个之后,是否可以减去或除去那些状态=5关闭的,代码如下,从testschema.pd中选择wo,group_concatstatus作为“status”,其中find_in_setstatus,“1,2,5”按WO分组您需要按状态分组,否则您只能查看其中一行。我认为像在集合'1'中查找'u',集合'2'中查找'u',集合'3'中查找'u',集合'2'中查找'u',集合'3'中查找'u'之类的东西可能会做到这一点