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

 

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


 

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

 

 

 

--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:[email protected]     
 *另外:转载请著名出处。
 *博客地址:http://blog.csdn.net/szstephenzhou

 

你可能感兴趣的:(SQL Server2008 排序函数应用RowNumber ,Rank,Dense_Rank ,Ntile)