加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLServer 排名函数

发布时间:2020-12-12 13:30:20 所属栏目:MsSql教程 来源:网络整理
导读: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,--主
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
-------------------- -------------------- -------------------- -------------------- --------------- -----------
1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?100? ? ? ? ? ? ? ? ? ? ? ? ?100
2? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1? ? ? ?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读