设为首页 加入收藏

TOP

Oracle开窗函数笔记及应用场景
2019-03-09 00:20:49 】 浏览:25
Tags:Oracle 开窗 函数 笔记 应用 场景

上面是开窗函数over(...)的简单介绍。


oracle开窗函数使用的话一般是和order、partition by、row_number()、rank()、dense_rank()几个函数一起使用


例子:成绩表的例子,
|学号| 姓名 |班级 | 成绩 |
|--|--|--|--|
|111| 小王 |1 | 92 |
|123|小李 |2 |90 |
|134|小钱 |3 |92 |


数据表为t_score,字段分别为stuId,stuName,classId ,score


over函数和row_number一起使用:
开窗函数和row_number函数一起使用的话,就是返回一行,不过这里其实不适合用来统计,因为统计成绩的话,可以存在分数一样的两条数据,而row_number只返回一条数据。


over函数和rank一起使用:
rank函数功能也是排序,这里的话,假如有分数一样的两条数据的情况,是会返回两条的,但是假如第二名,就是从3开始计算了


over函数和dense_rank一起使用:
dense_rank函数是rank函数的补充,假如有分数一样的两条数据,是可以按照正常排序,第二名的情况,还是显示2



编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Oracle sql共享池$sqlarea分析SQL.. 下一篇MySQL执行原理,逻辑分层、更改数..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(214) }