SQL Server: упорядочить по 2 столбцам (сначала выберите ColumnX> Null, а затем Id> Order By DESC) - PullRequest
2 голосов
/ 18 октября 2019

Я хочу получить записи с MSSQL Server в соответствии со значениями 2 столбцов: ColumnX и Id.

Сначала я хочу получить нулевые записи ColumnX (вверху), а затем упорядочить по Id desc (мне просто нужно упорядочить нулевые записи ColumnX вверху списка). Возможно ли это сделать? Когда я пытаюсь выполнить этот запрос, я получаю нулевые значения ColumnX, но затем получаю их в соответствии со значениями ColumnX. Однако я хочу упорядочить по Id столбца DESC после нулевых значений ColumnX. Есть идеи?

SELECT Id, ColumnX 
FROM Table
ORDER BY ColumnX , Id DESC

Ответы [ 2 ]

2 голосов
/ 18 октября 2019

Вы можете включить несколько выражений в order by:

order by (case when x is null then 1 else 2 end),  -- put null values first
         id desc
1 голос
/ 18 октября 2019

Попробуйте это:

SELECT ID, ColumnX 
FROM Table 
order by (case when ColumnX is null then 1 else 2 end),  
         ID DESC
...