一、Rank()函数例子
(1)默认查询及对应字段 as 别名
select FOURCARD as 组名,WCBL 金额进度,tbje as 同比金额,HUBI as 环比金额 from a
(2)进行Rank 函数 排行 同时判断 组名不等于合计、不等于空 union all 单独加上合计
SELECT RANK() OVER( ORDER BY WCBL desc) 排行,
FOURCARD as 组名,WCBL 金额进度,tbje as 同比金额,HUBI as 环比金额
FROM a
WHERE FOURCARD <> '合计' and FOURCARD <> ''
GROUP BY FOURCARD,WCBL,tbje,HUBI
union all
select '', FOURCARD as 组名,WCBL 金额进度,tbje as 同比金额,HUBI as 环比金额 from a
where FOURCARD='合计'
--
二、ROW_NUMBER()
定义:ROW_NUMBER()函数作用就是将select查询到的数据进行排序,每一条数据加一个序号,他不能用做于学生成绩的排名,一般多用于分页查询,
三、DENSE_RANK()
定义:DENSE_RANK()函数也是排名函数,和RANK()功能相似,也是对字段进行排名,那它和RANK()到底有什么不同那?
答:DENSE_RANK()密集的排名他和RANK()区别在于,排名的连续性,DENSE_RANK()排名是连续的,RANK()是跳跃的排名,所以一般情况下用的排名函数就是RANK()。
四、NTILE()
定义:NTILE()函数是将有序分区中的行分发到指定数目的组中,各个组有编号,编号从1开始,就像我们说的’分区’一样 ,分为几个区,一个区会有多少个。