Задать вопрос

Как правильно отсортировать товары по возрастанию, когда есть артикулы с 0?

Добрый день. В интернет магазине товар сезонный. Вообще изначально мы отталкиваемся от бумажного каталога. Раньше сносили весь ассортимент с сайта, сейчас для SEO решили оставлять старый ассортимент и добавлять новый, при этом каждый год артикулы у нас начинаются с 1... теперь у товаров старого каталога мы артикулы просто выставляем в 0.

Теперь нам нужно отсортировать товары по артикулу от 1 до N при этом артикулы с 0 убрать в самый конец...
  • Вопрос задан
  • 162 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@JuniorNoobie
Сижу в поддержке, пишу мелкие проекты
Сортируйте по полю:
ORDER BY CASE WHEN article = 0 THEN NULL ELSE article END NULLS LAST
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Странно конечно, когда нельзя сортировать по общему полю (скажем дате создания); в вашем случае можно ввести дополнительное поле, по которому выполнять сортировку
пример запроса
select 
    id, 
    some_fields,
    CASE WHEN id > 0 THEN -1 ELSE 0 END as rank
from product
order by rank asc, id asc
Ответ написан
Ваш ответ на вопрос

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

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