PCB MS SQL 排序应用(row_number rank dense_rank NTILE PARTITION)
一.排序前,准备数据
--表变量 declare @table table (生产型号 varchar(4),流程数 int) insert into @table select 'A',26 union all select 'B',25 union all select 'C',25 union all select 'D',23 union all select 'E',20 --查看一下 select * from @table
二.排序后:
select 生产型号,流程数, row_number() over(order by 流程数 desc) as [row_number], --流程数 倒顺 顺序递增 rank() over(order by 流程数 desc) as [rank], --流程数 倒顺 顺序递增 相同按上一个顺序号,按计数号递增 dense_rank() over(order by 流程数 desc) as [dense_rank], --流程数 倒顺 顺序递增 相同按上一个顺序号,按高顺号递增 NTILE(3) over(order by 流程数 desc) as [NTILE], --流程数 倒顺 范围数据等分为3份范围,确认数据在哪一份 ROW_NUMBER() OVER (PARTITION BY 流程数 ORDER BY 流程数) as [PARTITION] --以流程数分组,按流程数顺序排序 from @table
作者:pcbren 微信号:yadnfku QQ号: 254566449
博客地址:https://www.cnblogs.com/pcbren/
声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。非商业,未授权,贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。
如果大家感觉我的博文对大家有帮助,请推荐支持一把。