微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLServer 排名函数

USE MyDB;
IF EXISTS (Select * From sys.objects Where name =N'EmployeOrdersCount' And Type In ('S','U'))
  DROP TABLE EmployeOrdersCount    
ELSE
   CREATE TABLE EmployeOrdersCount --员工订单统计
   (
   Id INT PRIMARY KEY IDENTITY,--主键ID
   EmployeNO NVARCHAR(15),         --员工编号
   OrdersCount INT,                       --订单数量
   )
       INSERT INTO EmployeOrdersCount(EmployeNO,OrdersCount)
       VALUES('100',100),('102',('103',('104',
       ('105',('106',99),('107',('108',('109',98),
       ('110',('111',97),('112',96),('113',100)

 

SELECT ROW_NUMBER() OVER(ORDER BY OrdersCount desc) AS 'RowNumber',
         RANK() OVER(ORDER BY OrdersCount desc) AS 'Rank',
         DENSE_RANK() OVER(ORDER BY OrdersCount desc) AS 'Dense_rank',
         NTILE(4) OVER(ORDER BY OrdersCount desc) AS 'ntile'
               ,EmployeNO,OrdersCount
           FROM EmployeOrdersCount

 

RowNumber                       Rank                                 Dense_rank                     ntile                               EmployeNO             OrdersCount
-------------------- -------------------- -------------------- -------------------- --------------- -----------
                                                                                                                                                       100                         100
                                                                                 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐