MYSQL найти связанный запрос - PullRequest
0 голосов
/ 12 марта 2011

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

Запрос легко написать, однако мне было интересно, есть ли способ написать запрос, чтобы он выполнял поиск связанных элементов и сначала извлекал их, а если они <10, он просто выбирает случайные поля дляостальные. </p>

Вот запрос, который я использую, чтобы получить связанные строки

SELECT * FROM table WHERE term LIKE '%term1%' or term LIKE '%term2%' LIMIT 0,10

1 Ответ

1 голос
/ 12 марта 2011

Вам просто нужно упорядочить таблицу по терминам, которые вы ищете в первую очередь, один из способов сделать это заключается в следующем:

SELECT * FROM table 

ORDER BY (
  (
    CASE WHEN term LIKE '%term1%'
    THEN 1
    ELSE 0
    END
  ) + (
    CASE WHEN term LIKE '%term2%'
    THEN 1
    ELSE 0
    END
  )
) DESC
LIMIT 0,10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...