Упорядочивание sql-запроса по первой букве
Я пытаюсь упорядочить свои запросы mysql на основе первой буквы, но каждый метод, который я использовал, ограничивает мой поиск.
Пример Таблица MySQL Значение компьютерных услуг abc компьютерные услуги динамические компьютерные услуги
Если я ищу computer services
, я хочу, чтобы результаты возвращались в виде:
**Name**
computer services
abc computer services
dynamic computer services
Я использую текст полного поиска mysql, но если я использую name LIKE 'c%'
Я не вижу двух других результатов, например,
SELECT name FROM table WHERE match('name') against('computer services*' IN BOOLEAN MODE) AND name LIKE 'c%';
Это вернет только
- компьютер услуги
Но я хочу, чтобы он вернулся:
- компьютерные услуги
- компьютерные услуги abc
- динамические компьютерные службы
Я новичок в полнотекстовом поиске mysql.
1 answers
Сначала используйте предложение 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;