Oracle 之常用分析函数

本文介绍了Oracle中的几个重要分析函数,包括row_number(), rank(), dense_rank(),并探讨了它们在组内排序和排名中的应用。通过实例展示了如何使用这些函数进行分组排序和计算,帮助理解这些函数的功能和区别。同时提到了lag()和lead()移位函数,以及Oracle的开窗函数概念。" 130220263,17586178,Java实现的社区住户信息管理系统设计与实现,"['Java', '课程设计', '数据库管理', 'Web开发', 'Maven']
摘要由CSDN通过智能技术生成

Oracle自带功能强大的分析函数,刚接触了好几个,才知道原来写的一些SQL完全可以简化,相见恨晚呐!

下面将介绍几个排名的函数。
row_number()
rank()
dense_rank()

row_number可以通过over 根据某字段排序完之后进行组内(如果有partition by)排序。
rank()是排名的函数,该函数组内排序后会进行跳号,分数相同的作为并列。
dense_rank()该函数不会跳号,分数相同为并列第一,下一个是第二。
这里写图片描述

如有个分组(partition by)则可以实现组内排序功能,比如说一个成绩报告单,按科目的排序第一,第二,第三….就可以使用先over(partition by 课程字段 order by 课程字段 )

附录:看下面两张图慢慢消化吧

分组之后以分组字段排序,row_number()即使deptno相同也是不相同,注意

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄宝康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值