MySQL使用where&;和条件
我试图从MySQL中的问题表中获取一些行,如下所示: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)如下所示: 这就
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。YourWHERE
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)