php/mysql:select查询无法正常工作

php/mysql:select查询无法正常工作,mysql,Mysql,很抱歉没有一个好的标题。因为我真的不知道要使用的关键字,。 我有一个名为document的表 我有一个列名状态和编号 我有这样的数据 3组数据 一, 我的php网站中有一个html表 我想要的是,如果某个状态被拒绝,则不显示数据 因此,数字1基本上不会出现在html表中 那我怎么能质疑呢。我有类似的东西 select number, status from table document where status !="declined" and status = "signed" group b

很抱歉没有一个好的标题。因为我真的不知道要使用的关键字,。 我有一个名为document的表 我有一个列名状态和编号

我有这样的数据 3组数据 一,

我的php网站中有一个html表

我想要的是,如果某个状态被拒绝,则不显示数据 因此,数字1基本上不会出现在html表中

那我怎么能质疑呢。我有类似的东西

select number, status from table document where status !="declined" and status = "signed" group by number
但是这个查询不起作用,它会一直显示拒绝状态的号码

对不起,我英语不好

正如下面的答案所述,我尝试了这个sql

select number
from  document 
group by number
having sum(`status` <> 'declined') > 0 and
   sum(`status` = 'signed') > 0;
但是上面的查询不起作用,因为它一直显示数字1。这不能包括在内。我怎样才能解决这个问题?非常感谢。 这是我桌子上的数据


你可以用having子句而不是where子句做你想做的事情。也就是说,在聚合后进行比较:

select number
from table document 
group by number
having sum(status <> 'declined') > 0 and
       sum(status = 'signed') > 0;
试试这个:

select number
from table document 
group by number
having sum(`status` <> 'declined') > 0 and
   sum(`status` = 'signed') > 0;
状态是给定的关键字

如果某个数据状态被拒绝,则不显示该数据

正确的查询是

select number
from  document 
group by number
having sum(`status` = 'declined') = 0 and
   sum(`status` = 'signed') > 0
sumstatus'0'>


意味着获取至少一行不相等的所有数字,并发布其返回的数据和定义不起作用。我已经在上面说明了sir。在我更新问题之前。谢谢,为什么不使用一个简单的查询来选择状态,从文件中选择状态编号我更新了上面的问题,先生。但是查询不能正常工作。你能帮我吗?上面的问题是最新的,先生。我应用了你的建议。但还是不行,先生。你能帮帮我吗。谢谢你好,先生。你能再帮我一次吗。im在where语句中遇到问题,请从表文档中选择number、status、idnum,其中idnum=0001,group by number的sumstatus='DEVENDED'=0;idnum 0001位于数字1和2中。但排名第一的人的地位下降了。因此,输出必须仅为数字2。但它一直显示数字1。也许是因为where声明?我该怎么解决呢谢谢
select number
from table document 
group by number
having sum(`status` <> 'declined') > 0 and
   sum(`status` = 'signed') > 0;
select number
from  document 
group by number
having sum(`status` = 'declined') = 0 and
   sum(`status` = 'signed') > 0