SQL 服务器:按 2 列排序(先获取 ColumnX > Null,然后获取 Id > 按 DESC 排序)
SQL Server : Order By 2 Columns (get ColumnX > Null First and then Id > Order By DESC)
我想根据 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
我想根据 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