ROW_NUMBER()、RANK()、DENSE_RANK()、NTILE(N)

SQL Case表达式与动态排序
本文介绍了一种使用SQL Case表达式为数据集添加额外列的方法,并展示了如何基于特定字段进行动态排序。通过实际案例,讲解了如何根据不同价格区间对商品进行分类,并按实际价格降序排列。
--动态多加字段
--Case的搜索函数 (多个条件判断) 多加一列
SELECT ROW_NUMBER() over (order by [RealPrice] desc )a ,
[SaleId], 
--(case when RealPrice >0 and RealPrice<=100 then '低端产品'
--when RealPrice >100 and RealPrice<=500 then '中端产品'
--when RealPrice >500 and RealPrice<=1000 then '中高端产品'
--when RealPrice >1000  then '低端产品'
--else '没有价格'
--end) 设置名称
--上面这个方法也可以
'设置名称'=(case when RealPrice >0 and RealPrice<=100 then '低端产品'
when RealPrice >100 and RealPrice<=500 then '中端产品'
when RealPrice >500 and RealPrice<=1000 then '中高端产品'
when RealPrice >1000  then '低端产品'
else '没有价格'
end) 
      ,[Name]
      ,[UnitPrice]
      ,[RealPrice]
      ,[CreatedTime]
      ,[Creator]
      ,[Enabled]
      ,[StorageId]
  FROM [Shop].[Base].[Sale] order by saleid desc

来自:http://www.cnblogs.com/hacker012/archive/2011/06/13/2079670.html

http://www.cnblogs.com/hacker012/archive/2011/06/14/2080680.html

转载于:https://www.cnblogs.com/mistor/archive/2012/11/28/2793214.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值