Внимательно изучил вот эту тему Приоритет выборки WHERE ... OR, но у меня другой вопрос.
Здесь создал тест, но что-то барахлит ресурс: http://sqlfiddle.com/#!9/aa25a8/5
CREATE TABLE table_name (id INT, head VARCHAR(90), main_tag VARCHAR(90), tags VARCHAR(90), texts TEXT);
INSERT INTO table_name VALUES (1,'bowling balls','balls', 'four;Chuck', 'Chuck Norris once ate four 30lb bowling balls without chewing.'),
(2,'rilled bird','bird', 'kill;stone', 'Chuck Norris killed two stones with one bird.'),
(4,'The quickest way','Chuck', 'quick;Chuck', 'The quickest way to a man\'s heart is with Chuck Norris\' fist.'),
(5,'Lady GaGa','IE', 'canvas;explorer', 'Lady GaGa uses canvas in IE.'),
(6,'Wild program','program', 'form;WEB', 'Chuck Norris programs do not accept input.'),
(7,'Chuck vs Rambo','Rambo', 'cool;Chuck', 'To Silvester Stallone, everything contains a vulnerability.');
В общем, мне нужна сортировка при выводе по приоритету: сначала, если слово 'Chuck' встречается в 'head', затем в 'main_tag' и т.д.
В голову пришло только:
SELECT * FROM table_name
WHERE head LIKE '%Chuck%' OR main_tag LIKE '%Chuck%'
OR tags LIKE '%Chuck%' OR texts LIKE '%Chuck%'
И ORDER BY здесь, понятное дело, ни при чем.
UPD: See solution - http://sqlfiddle.com/#!9/2ad2235/12
Приоритеты операторов проявляются при проверке строки, а порядок в котором строки выдаются запросом называются "порядок сортировки", а не "приоритет" и задаются соответственно предложением order by. Учитывая, что в MySQL любое логическое выражение возвращает 0 или 1 то нам надо отсортировать выборку так, что бы срабатывание условия, давшее 1 оказалось первым, т.е. сортируем по условию в обратном (desc) порядке:
SELECT *
FROM table_name
WHERE head LIKE '%Chuck%' OR main_tag LIKE '%Chuck%'
OR tags LIKE '%Chuck%' OR texts LIKE '%Chuck%'
ORDER BY head LIKE '%Chuck%' OR main_tag LIKE '%Chuck%' desc,
tags LIKE '%Chuck%' OR texts LIKE '%Chuck%' desc
В принципе последнее условие можно было не добавлять, потому что первое уже выведет на первое место совпадения в head.
Пример на sqlfiddle.com
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите в файловой системе сайта на хостинге в какой папке можно найти, какая база данных подвязана к сайту? Скриншот файловой системы...
Категорически приветствую! Существует mysql-сервер (mysqld Ver 56
Имеется Web-приложение для регистрации документов (те
ЗдравтсвуйтеНужна помощь в вертске flex-блоки таким образом, чтобы все элементы + 1 начиная со второго имели одинаковые стили