MySQL - 在哪里或?

标签 mysql sql where

我有一个 MySQL 语句,我试图根据它们“属于”查询的位置来排除语句,但它仍然显示我特别指出的不等于的行?

SELECT id, belongsto, title, madeby, sticky, locked, lastpost, posts
FROM threads
WHERE sticky !=1
AND belongsto !=12 OR sticky !=1 AND belongsto !=13
ORDER BY  `threads`.`date` DESC 
LIMIT 20

最佳答案

您需要在 OR 语句周围加上括号,以便将它们按逻辑分组。

WHERE sticky !=1
AND belongsto !=12 OR sticky !=1 AND belongsto !=13

应该是:

WHERE (sticky !=1 AND belongsto !=12)
OR (sticky !=1 AND belongsto !=13)

或者更好:

 WHERE sticky !=1 AND belongsto NOT IN(12,13)

关于MySQL - 在哪里或?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17953542/

相关文章:

java - Hibernate @Where 不在@MappedSuperClass 实体上执行

mysql - SQL 语句的 WHERE 子句中的加权条件

php - 错误: Unknown column 'Maslulim' in 'where clause'

mysql - Bash 脚本和行

MySQL,选择具有许多一对多关系的条目的最佳方法?

mysql - 如何从表中获取最近 3 周的最后 3 条数据

mysql - 嵌套加入子查询和失败关联

php - 不允许用户通过查询编辑数据库

mysql - on 子句中的未知列与运行总计

mysql select 查询条件