SQL中的排序(窗口函数)

一、SUM相加时加不加order by的区别

利用窗口函数求和,加order by会累加求和,而不加order by则会直接求和。

如下:

RN_SUM_ORDER列在求和时加了排序,那他的结果就是第一条记录是语文成绩,第二条记录是语文+数学成绩,第三条记录是语文+数学+英语成绩。

而RN_SUM列则是直接求语文+数学+英语的成绩

二、RANK、DENSE_RANK、ROW_NUMBER排序的区别

由以下SQL和执行结果可以很直观的看出,

RANK排序当遇到相同排名时,排名是有间隔。也就是说,当排名并列时,占用下一名次。

DENSE_RANK排序当遇到相同排名时,排名之间没有间隔。也就是说,当排名并列时,不占用下一名次。

ROW_NUMBER会为每一行分配一个唯一且连续的序号,不管排名是否并列。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值