MySQL使用where & 和条件过滤结果

标签 mysql sql

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

SELECT * 
FROM raise_question 
where  documentID = '1' 
   and delReq != 1 OR delReq IS NULL

但是,某些行具有不同的 documentID。 (请看图片)。这是返回我想要的结果的正确方法(使用 HAVING 而不是 AND)(它只包含特定的 documentID):

SELECT * 
FROM raise_question 
where  documentID = '1' 
having delReq != 1 OR delReq IS NULL

使用 AND 查询返回: enter image description here

使用Having I Want后的预期结果(仅包含一个documentID)是这样的: enter image description here

最佳答案

您的WHERE 翻译为

where  (documentID = '1' 
   and delReq != 1) OR delReq IS NULL

,因为 AND 的优先级高于 OR 将括号放入 OR 语句中。

where  documentID = '1' 
   and (delReq <> 1 OR delReq IS NULL)

关于MySQL使用where & 和条件过滤结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57825362/

相关文章:

php - Laravel 5.1 无法迁移数据库

Mysql根据多案例取记录

php - 优化SQL语句: Select multiple values

mysql - 如何获取包含十个值而不是全部值的逗号分隔列表?

java - 从文件中读取内容以形成java中的sql语句

mysql - 具备购买的所有要素

Mysql获取条件中描述的所有记录,即使它不存在于表中

sql - oracle中触发前后的区别

php - MySQL 查询,我将多条记录添加到一条记录

sql - 在 Ruby on Rails 中连接 SQL 服务器