Например, я хочу найти во всех записях «Sprite», «Pepsi» или «Coke» в названии / описании и вывести последние 3 результата.
------------------------------------------------
| ID | Title | Description |
------------------------------------------------
| 1 | text text SPRITE text | text PEPSI xxx |
| 2 | text text text text | text text text |
| 3 | text text SPRITE text | text COKE xxxx |
| 4 | text text text text | text text text |
| 5 | text PEPSI text text | text COKE xxxx |
| 6 | text COKE text text | text COKE xxxx |
| 7 | text text text text | text text text |
| 8 | text text text text | text text text |
------------------------------------------------
Это самый эффективный запрос для этого?
SELECT *
FROM `table`
WHERE title LIKE '%Sprite%' OR description LIKE '%Sprite%'
OR title LIKE '%Pepsi%' OR description LIKE '%Pepsi%'
OR title LIKE '%Coke%' OR description LIKE '%Coke%'
ORDER BY 'id' DESC
LIMIT 3;
Или есть ли способ сделать это с MATCH AGAINST? (Я не мог найти способ) ..
Пример вывода:
------------------------------------------------
| 6 | text COKE text text | text COKE xxxx |
| 5 | text PEPSI text text | text COKE xxxx |
| 3 | text text SPRITE text | text COKE xxxx |
------------------------------------------------