Порядок SQL в MySQL - PullRequest
       1

Порядок SQL в MySQL

1 голос
/ 26 мая 2011

У меня есть выделенная оценка MySQL, и я хочу сделать это одним запросом.

 select * from users where...

Предложение where будет состоять из четырех частей, и их нужно заказать следующим образом:

 1. where description = "query"

 2. where description = "%query%"

 3. where description = "q1" or description = "q2"

 4. where description = "%q1%" or description = "%q2%"

Ответы [ 2 ]

2 голосов
/ 26 мая 2011

Одним из решений было бы UNION результаты и добавление ложного поля OrderBy для каждого запроса.

SELECT   1 as OrderBy, *
FROM     users
WHERE    description = "query"
UNION ALL
SELECT   2 as OrderBy, *
FROM     users
WHERE    description = "%query%"
...
ORDER BY
         OrderBy
0 голосов
/ 26 мая 2011

Я думаю, что следующее даст нужные вам результаты

select * from users 
where description like "%query%" 
  or description like "%q1%" 
  or description like "%q2%"
...