MySQL使用where&;和条件

MySQL使用where&;和条件,mysql,sql,Mysql,Sql,我试图从MySQL中的问题表中获取一些行,如下所示: SELECT * FROM raise_question where documentID = '1' and delReq != 1 OR delReq IS NULL 但是,有些行具有不同的documentID。(请看图片)。这是返回我想要的结果的正确方法(使用have而不是和)吗(即它只包含特定的文档ID): 使用和查询返回: 使用Having I want后的预期结果(仅包含一个documentID)如下所示: 这就

我试图从MySQL中的问题表中获取一些行,如下所示:

SELECT * 
FROM raise_question 
where  documentID = '1' 
   and delReq != 1 OR delReq IS NULL
但是,有些行具有不同的
documentID
。(请看图片)。这是返回我想要的结果的正确方法(使用
have
而不是
)吗(即它只包含特定的
文档ID
):

使用和查询返回:

使用Having I want后的预期结果(仅包含一个documentID)如下所示: 这就是你想要的吗

select distinct documentid
from raise_question
where delReq <> 1 or delReq is null;
选择不同的documentid
从提出问题开始
其中delReq 1或delReq为空;

这将返回具有非1
delreq
值的文档ID。

Your
WHERE
translate to

where  (documentID = '1' 
   and delReq != 1) OR delReq IS NULL
,因为
的优先级高于
语句中加括号

where  documentID = '1' 
   and (delReq <> 1 OR delReq IS NULL)
其中documentID='1'
和(delReq 1或delReq为空)

否,这不正确。您应该使用
HAVING
groupby
。嗨,Gordon,我想我需要所有列的记录,但只能在一个documentID下,这可能吗?嗨,Eric,非常感谢!它制造了很多场景。看起来当我用Having代替方括号时得到了相同的结果。我能问一下为什么使用have不好吗?
have
是指与
groupby
一起使用。如果没有
分组依据
,则使用
具有
将没有意义。谷歌
拥有
来了解更多信息。
where  documentID = '1' 
   and (delReq <> 1 OR delReq IS NULL)