#mysql #sql
Добрый день, можете подсказать как мне отсортировать выдачу MySQL по количеству совпадений? К примеру есть запрос SELECT * FROM `content` WHERE `text` LIKE "%hi%" AND `text` LIKE "%bro%" Надо сделать так, что бы выдача была по убыванию ( то бишь там где больше всего bro и hi - самое первое, где меньше всего - самое последнее ). Заранее спасибо!
Ответы
Ответ 1
SELECT *, (length(text) - length(replace(text,'hi','')) / 2) + (length(text) - length(replace(text,'bro','')) / 3) AS OrderField FROM content WHERE text LIKE "%hi%" AND text LIKE "%bro%" ORDER BY OrderField
Комментариев нет:
Отправить комментарий