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

 摘要:

   这是一篇来自"猫猫小屋"的按特定值的排序位置的文章
   下文讲述sql脚本编写中,将 特定值排在最前面的方法分享,
   实验环境:sqlserver 2008 R2 

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

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

insert into test(info,flag)values ('a',-100),('maomao365',-2),(N'sql博客',-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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值