首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL Server : Order By 2列(先获取ColumnX > Null,然后是Id > Order By DESC)

SQL Server : Order By 2列(先获取ColumnX > Null,然后是Id > Order By DESC)
EN

Stack Overflow用户
提问于 2019-10-18 20:31:12
回答 2查看 153关注 0票数 2

我想根据两个列值从MSSQL Server检索记录: ColumnX和Id。

首先,我想检索ColumnX的空记录(在顶部),然后按Id排序(我只需要在列表的顶部对ColumnX的空记录进行排序)。有可能做到这一点吗?当我尝试这个查询时,我检索ColumnX的null值,但随后根据ColumnX值检索。但是,我希望在ColumnX的空值之后按Id列DESC排序。有什么想法吗?

代码语言:javascript
运行
复制
SELECT Id, ColumnX 
FROM Table
ORDER BY ColumnX , Id DESC
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-18 20:32:59

您可以在order by中包含多个表达式

代码语言:javascript
运行
复制
order by (case when x is null then 1 else 2 end),  -- put null values first
         id desc
票数 1
EN

Stack Overflow用户

发布于 2019-10-18 20:35:33

试试这个:

代码语言:javascript
运行
复制
SELECT ID, ColumnX 
FROM Table 
order by (case when ColumnX is null then 1 else 2 end),  
         ID DESC
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58451020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档