SQL Server2008 排序函数应用RowNumber ,Rank,Dense_Rank ,Ntile

 

--SQL Server2008 排序函数应用    
        
/********************************************************************************        
 *主题:SQL Server2008 排序函数用                                                                                                                                                          *说明:本文是个人学习的一些笔记和个人愚见        
 *      有很多地方你可能觉得有异议,欢迎一起讨论        
        
 *作者:Stephenzhou(阿蒙)        
 *日期: 2012.12.3    
 *Mail:szstephenzhou@163.com        
 *另外:转载请著名出处。        
**********************************************************************************/ 


 

这里不做果多的解释,直接上实例。

 

 

 

--SQL2008 排名函数 RowNumber ,Rank,Dense_Rank ,Ntile
create table #t(
OrderID int ,CustomerID int
)
insert into #t values(43860,1)
insert into #t values(44501,1)
insert into #t values(45238,1)
insert into #t values(46042,1)
insert into #t values(46976,2)
insert into #t values(47997,2)
insert into #t values(49321,3)
insert into #t values(32142,1)
insert into #t values(43232,2)
insert into #t values(53242,1)
insert into #t values(13124,4)
insert into #t values(12312,3)
insert into #t values(53345,2)
insert into #t values(34566,2)
insert into #t values(32422,4)
insert into #t values(53453,2)
insert into #t values(63452,3)
insert into #t values(13543,3)
insert into #t values(53451,4)


select * ,
ROW_NUMBER()over(order by CustomerID)ROW_NUMBER,
RANK()over(order by CustomerID)RANK,
DENSE_RANK()over(order by CustomerID)DENSE_RANK,
NTILE(100)over(order by CustomerID)NTILE
 from #t
 
 /*
 OrderID     CustomerID  ROW_NUMBER           RANK                 DENSE_RANK           NTILE
----------- ----------- -------------------- -------------------- -------------------- --------------------
43860       1           1                    1                    1                    1
44501       1           2                    1                    1                    2
45238       1           3                    1                    1                    3
46042       1           4                    1                    1                    4
32142       1           5                    1                    1                    5
53242       1           6                    1                    1                    6
43232       2           7                    7                    2                    7
46976       2           8                    7                    2                    8
47997       2           9                    7                    2                    9
53453       2           10                   7                    2                    10
53345       2           11                   7                    2                    11
34566       2           12                   7                    2                    12
12312       3           13                   13                   3                    13
63452       3           14                   13                   3                    14
13543       3           15                   13                   3                    15
49321       3           16                   13                   3                    16
13124       4           17                   17                   4                    17
53451       4           18                   17                   4                    18
32422       4           19                   17                   4                    19

(19 行受影响)
 */



 

 *作者:Stephenzhou(阿蒙)     
 *日期: 2012.12.3
 *Mail:szstephenzhou@163.com     
 *另外:转载请著名出处。
 *博客地址:http://blog.csdn.net/szstephenzhou

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值