我有一个 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/