(
SELECT * FROM `indexnews` WHERE MATCH('@title \"cs2\"/0.3')
)
UNION
(
SELECT * FROM `indexnews`
)
ORDER BY `time` DESC LIMIT 35
Когда первый запрос дает не 35 записей, а 10 или вовсе пустой.
Возможно применить UNION, второй запрос, но уже просто вывести все записи?
Не выходит, пишет синтетическая ошибка…
Они не смогут дополнить запрос по лимиту. Тут всего лишь достают записи в которых есть пересечения из первой и второй таблицы.
А так, чтобы получить 50 записей.
Допустим выполнили запрос, на выходе получили 30 записей. 20 не хватает, необходимо добавить 20 записей к результату. Так чтобы на выходе не получилось дублирования результата из первого запроса.
Быть может, есть вариант. Допустим использовать оператора | (или),
в приоритетном порядке достаем сперва записи по условию '@title \"cs2\"/0.3', если не находим больше записей, переходим к ИЛИ, и достаем просто по порядку.
Но если будем сортировать по time, то все перемешается тогда…