Vấn đề là với mức độ ưu tiên của OR
/ AND
điều kiện. AND
có mức độ ưu tiên cao hơn OR
, đó là lý do tại sao trước tiên nó đánh giá tất cả các điều kiện được kết nối bởi AND
(tags-merch, newsID-2134 và status-1) và sau đó đánh giá cả thẻ-gda và tags-cuộc thi).
Cố gắng thêm dấu ngoặc vuông:
SELECT *
FROM `posts`
WHERE (`tags` LIKE '%gda%'
OR `tags` LIKE '%contests%'
OR `tags` LIKE '%merch%')
AND `newsID` != '2134'
AND `status` > '1'
ORDER BY `postDate` DESC
LIMIT 5