请快点,我正在开展一个项目,并尝试从表中检索广告,其中包含类别,子类别及其标题的广告。
这是查询:
SELECT DISTINCT id FROM ads WHERE category = 4 AND subcategory = 79 AND title LIKE '%Samsung%' OR title LIKE '%galaxy%' OR title LIKE '%S4%' ORDER BY IF(title Like '%Samsung%', 1, 0) + IF(title Like '%galaxy%', 1, 0) + IF(title Like '%S4%', 1, 0) DESC LIMIT 25
问题:
查询忽略了类别和子类别,并且只要标题与提供的字符串一样,就会忽略类别和子类别,我似乎无法弄清楚问题是什么,请为此我需要帮助,谢谢提前!
答案 0 :(得分:1)
将LIKE
语句括在括号中:
SELECT DISTINCT id
FROM ads
WHERE category = 4
AND subcategory = 79
AND (title LIKE '%Samsung%'
OR title LIKE '%galaxy%'
OR title LIKE '%S4%')
ORDER BY IF(title LIKE '%Samsung%', 1, 0) + IF(title LIKE '%galaxy%', 1, 0) + IF(title LIKE '%S4%', 1, 0) DESC LIMIT 25