我有一个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 - MySQL - 哪里还是?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17953542/