–演示例题,建一个table
create table rankorder( orderid int, qty int ) go |
–插入数据
insert rankorder values(30,10) insert rankorder values(10,10) insert rankorder values(80,10) insert rankorder values(40,10) insert rankorder values(30,15) insert rankorder values(30,20) insert rankorder values(22,20) insert rankorder values(21,20) insert rankorder values(10,30) insert rankorder values(30,30) insert rankorder values(40,40) go |
–查询出各类排名
select orderid,qty, ROW_NUMBER() OVER(ORDER BY qty) AS rownumber, RANK() OVER(ORDER BY qty) AS [rank], DENSE_RANK() OVER(ORDER BY qty) AS denserank , NTILE(3) OVER(ORDER BY qty) AS [NTILE] FROM rankorder ORDER BY qty |
–结果
–ROW_NUMBER()是按qty由小到大逐一排名,不并列,排名连续
–RANK()是按qty由小到大逐一排名,并列,排名不连续
–DENSE_RANK()是按qty由小到大逐一排名,并列,排名连续
–NTILE()是按qty由小到大分成3组逐一排名,并列,排名连续
orderid qty rownumber rank denserank NTILE 30 10 1 1 1 1 10 10 2 1 1 1 80 10 3 1 1 1 40 10 4 1 1 1 30 15 5 5 2 2 30 20 6 6 3 2 22 20 7 6 3 2 21 20 8 6 3 2 10 30 9 9 4 3 30 30 10 9 4 3 40 40 11 11 5 3 |
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
SQL Server 2005学习总结:排名函数(一)
SQL Server 2005中有哪些排名函数?本文主要是对以下四个排名函数的解释,包括RANK(),DENSE_RANK(),ROW_NUMBER(),NTILE()。
-
SQL Server 2005学习总结:排名函数(四)
SQL Server2005包括哪些排名函数?Transact-SQL提供了4个排名函数。本文介绍了这4个排名函数的类比表格。
-
SQL Server 2005学习总结:排名函数(三)
SQL2005实现排名非常方便,但是用SQL2000实现排名就比较麻烦,本文主要介绍的是SQL 2000的实现代码:RANK、ROW_NUMBER在sql 2000中的实现等方面。