Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Сортировка по двум столбцам с условиями


Recommended Posts

Добрый день, необходима помощь, делаю сортировку и столкнулся с проблемой:
Дано, таблица:

sort_1 | sort_2
==========
-1001 | 10
==========
-9999 | 11
==========
11 | 9
==========
16 | 7
==========
9999 | 14

Подскажите, как сделать, и возможно ли, сортировку в таком порядке:
Сначала все что меньше -1000 из первой колонки, потом все что из второй колонки больше 0(допустим по убыванию), далее все что больше 1000 из первой колонки.
Смотрел с сторону Case, но вроде как неподходит.
Подскажите, возможно ли такое сделать, и если да то в какую сторону искать?
Спасибо

Змінено користувачем mxwuser
Надіслати
Поділитися на інших сайтах


10 hours ago, mxwuser said:

Подскажите, возможно ли такое сделать, и если да то в какую сторону искать?
Спасибо

 

case вполне себе применим. будет что-то вроде

... order by

case when sort_1 < -1000 then sort_1 end asc,

case when sort_2 > 0 then sort_2 end desc,

case when sort_1 > 1000 then 3 end desc;

 

альтернативный вариант: добавление виртуальной колоноки в таблицу с вычисляемым значением, которая бы задавала нужный порядок сортировки или эти же вычисляемые значения добавить в select-секцию и уже по ним делать сортировку.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.