MySQL, полнотекстовый поиск, чтобы показать последние обновленные строки

Я хочу знать, как я могу объединить полнотекстовый поисковый запрос с дополнительным предложением, чтобы сначала показать последние обновленные строки.

У меня есть база данных — advertisements и эта таблица имеет много полей, одно из которых ‘title’. Я ищу этот столбец с полнотекстовым поиском.

Пример БД:

  1. Строка с названием: Juniour PHP Developer
  2. Строка с заголовком: Seniour PHP Developer
  3. Строка с заголовком: C ++ Developer

Если я ищу свой сайт, например:

«PHP Developer» -> тогда результат будет

  • Младший разработчик PHP
  • Seniour PHP Developer
  • C ++ Developer

И это хорошо.

Однако мне нужно расширить это, чтобы вернуть последние обновленные точные результаты.
я имею updated_at колонка в БД.

Например. когда я ищу свой веб-сайт, я хочу получить результаты, такие как:

«PHP Developer» -> тогда набор результатов, который я хочу, должен быть:

  1. Сначала показывать «PHP Developers», но сначала показывать последние обновленные

  2. Затем показать другим разработчикам (например, разработчикам на С ++), и они также должны быть в порядке с последними обновленными

Я хочу, чтобы результаты были похожи (при поиске «PHP Developer»):

  1. Juniour PHP Developer — например, updated_at column =13.02.16
  2. Seniour PHP Developer — updated_at =10.02.16
  3. Juniour PHP Developer — updated_at =04.01.16

  4. C ++ Developer — updated_at =13.02.16

  5. Джава Developer — updated_at =02.02.15

Как я могу это сделать?

1

Решение

Вы можете использовать заказ на updated_at столбец как

<your-query-here>
order by updated_at asc

Или вы можете создать какой-то производный порядок и порядок на этом, как

<your-query-here>
order by
(
case
when <something> then 1
when <something-else> then 2
...
end
) asc
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]