我想根据2列的值从MSSQL Server检索记录:ColumnX和Id。
[首先,我想检索ColumnX的空记录(在顶部),然后按ID desc排序(我只需要在列表的顶部对ColumnX的空记录进行排序)。有可能做到这一点吗?当我尝试此查询时,我检索ColumnX的空值,但随后根据ColumnX值进行检索。但是,我想按ColumnX的空值后的ID列DESC进行排序。有什么主意吗?
SELECT Id, ColumnX
FROM Table
ORDER BY ColumnX , Id DESC
您可以在order by
中包含多个表达式:
order by (case when x is null then 1 else 2 end), -- put null values first
id desc
尝试一下:
SELECT ID, ColumnX
FROM Table
order by (case when ColumnX is null then 1 else 2 end),
ID DESC