SQL排序

Transact-SQL提供了4个排名函数: RANK(),DENSE_RANK(),ROW_NUMBER(),NTILE()

--演示例题,建一个table

create table rankorder( orderid int, qty int ) 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组逐一排名,并列,排名连续

原文地址:https://www.cnblogs.com/kim01/p/2832716.html