mssql sqlserver 指定特定值排在表前面

Posted Adeal(mssql_QQ群:314974645)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mssql sqlserver 指定特定值排在表前面相关的知识,希望对你有一定的参考价值。

转自:http://www.maomao365.com/?p=7141

摘要:
下文讲述sql脚本编写中,将 特定值排在最前面的方法分享,
实验环境:sqlserver 2008 R2



例:将数据表中指定值为0的行排在最前面呈现给用户

create table test(keyId int identity,info varchar(10),flag int)
go

insert into test(info,flag)values (a,-100),(b,-2),(C,-3)
,(d,2),(e,4),(f,8),(g,9),(h,0),(e,1),(f,0)
go

---将flag值等于0的放入最前面显示
select * from test order by 
case when flag =0 then 0 else 1 end ,
flag asc 
go

---将flag值等于2的放入最前面显示
select * from test order by 
case when flag =2 then 0 else 1 end ,
flag asc 
go

go
truncate table test
drop table test

技术分享图片

 

以上是关于mssql sqlserver 指定特定值排在表前面的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver指定排序字段

SQL Server 排序的时候使 null 值排在最后

SQL Server 排序的时候使 null 值排在最后

Mysql实现null值排在最前或最后

oracle使用order by排序null值如何处理

为啥在 PostgreSQL 查询中排序 DESC 时 NULL 值排在第一位?