@Erimax

Как сделать такую сортировку?

Есть запрос. Как реалзиоват его doctrine orm?

select *
from services
order by 
    order_num is not null desc,  -- сначала не нулевые номера
    order_num,  -- затем сортировка номеров
    name -- в конце сортировка по имени
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ответы на вопрос 2
@res2001
Developer, ex-admin
order by order_num, order_name
Правда в этом случае все услуги будут сортироваться вторично по oreder_name, а не только те у которых нет order_num.
Если делать точно так как вы хотите, нужно отдельно отбирать услуги с order_num != null и сортировать их только по order_num, и отдельно отбирать услуги с order_num == null и сортировать по order_name, затем оба списка объединять через union.
Ответ написан
Комментировать
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
Делаем это так:
select *
from services
order by 
    order_num is not null desc,  -- сначала не нулевые номера
    order_num,  -- затем сортировка номеров
    name -- в конце сортировка по имени


MariaDB fiddle
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы