@jorshjorsh95

Сортировка по большему совпадению SQL?

Всем привет.

Проблема, как сделать сортировку по большему совпадению like sql ?

select * from table where like '%имя%' order by (like '%имя') ?


Или как, подскажите пожалуйста, на такой мелочи забурился..
  • Вопрос задан
  • 756 просмотров
Решения вопроса 1
longclaps
@longclaps
Критерий like '%имя' - качественный, а не количественный, возвращает true/false.
Мне кажется, ты хотел чего-то другого, но ведь ты и сам можешь об этом рассказать?

DROP TABLE IF EXISTS tmp;
CREATE TABLE tmp (
  `id`   INT PRIMARY KEY,
  `name` VARCHAR(50)
)
  DEFAULT CHARSET = utf8;

INSERT INTO tmp (`id`, `name`)
VALUES (1, 'Насосное оборудование'), (2, 'бла-бла'), 
       (3, 'Насос'), (4, 'запчасти для насоса');

SELECT *
FROM tmp
WHERE `name` REGEXP '[Нн]асос[[:>:]]'
UNION
SELECT *
FROM tmp
WHERE `name` REGEXP '[Нн]асос';
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы