Сортировка по части строки - MySQL

Узнай цену своей работы

Формулировка задачи:

И сразу еще один вопрос про сортировку. Есть список:
"имя"
ООО "Кровушка"
ООО "Дубинушка"
Горморпропкуб
Можно ли отсортировать только по названиям?
"имя"
Горморпропкуб
ООО "Дубинушка"
ООО "Кровушка"
Предположительно, нужно использовать регулярное выражение

Решение задачи: «Сортировка по части строки»

textual
Листинг программы
select name from test 
order by if(name regexp '^ООО ".*"', SUBSTRING(name,6), name);

Объяснение кода листинга программы

В данном коде выполняется запрос к таблице test с целью выбрать все значения столбца name, которые затем упорядочиваются по следующему правилу:

  1. Если значение столбца name начинается с ООО (без кавычек), то для сортировки используется поле SUBSTRING(name,6) (без кавычек), то есть, начиная с 7-го символа.
  2. Если значение столбца name не начинается с ООО (без кавычек), то для сортировки используется само значение столбца name. Таким образом, запрос позволяет отсортировать значения столбца name по части строки, которая следует после ООО.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5
Похожие ответы