Страницы

Поиск по вопросам

воскресенье, 15 декабря 2019 г.

Отсортировать SQL выдачу

#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

Комментариев нет:

Отправить комментарий