Упорядочение sql-запроса по первой букве
Я пытаюсь заказать мои запросы mysql на основе первой буквы, но каждый метод, который я использовал, ограничивает мой поиск.
пример Таблица MySQL Значение компьютерный сервис abc Компьютерные услуги динамические Компьютерные услуги
если я ищу computer services
Я хочу, чтобы результаты возвращаются как:
**Name**
computer services
abc computer services
dynamic computer services
Я использую текст mysql fullsearch, но если я использую name LIKE 'c%'
у меня нет двух других результатов, например
SELECT name FROM table WHERE match('name') against('computer services*' IN BOOLEAN MODE) AND name LIKE 'c%';
это только возвращение
- Компьютерные услуги
но я хочу, чтобы он вернулся:
- Компьютерные услуги
- abc Компьютерные услуги
- динамические Компьютерные услуги
Я новичок в mysql полный текст поиска.
1 ответов
используйте предложение order by, которое сначала соответствует регистру "начинается с". Я использую not like
здесь, потому что логическое возвращает 0 или 1, и мы хотим отменить это, чтобы сначала сопоставить начало с регистром.
SELECT name
FROM table
WHERE match('name') against('computer services*' IN BOOLEAN MODE)
ORDER BY name NOT LIKE 'computer services%', name;