ORACLE数据库中 row_number() over(partition by col1 order by col2) 用法
来源:互联网 发布:淘宝上有什么好东西 编辑:程序博客网 时间:2024/06/01 10:36
今天用到这个函数,相当方便,参考链接如下:http://blog.csdn.net/xiuhaijuanqiang/article/details/7248407
说明:
基本功能为:按照partition by中的col1参数分组,然后组内按照order by 的参数col2排序,mm即为组内对应的序号1、2、3、4......
实例介绍:
假设现在有不同班级的所有人的分数,然后希望得到每个班的第一名,就可以这样做:
select * from(
select 姓名,班级,分数,rank() over(partition by 班级 order by 分数) as mm)
where mm=1;
其中
select 姓名,班级,分数,rank() over(partition by 班级 order by 分数) as mm
得到的结果为:
各个班级排序,然后班级内分数从高到低的排序
那么每个班排第一的肯定为mm=1的
实际在数据库测试一下就可以得到用法,很方便,很简单。
注意区分:
row_number():对已相同的结果,只返回一个;例如:最高分相同的时候,只会返回一个结果集;
rank():对相同的结果会跳跃排序,有2个第二名时,直接跳到第四名,不会出现第三名;
dense_rank():对相同的结果连续排序,有2个第二名时,下一个依然是第三名;
- ORACLE数据库中 row_number() over(partition by col1 order by col2) 用法
- oracle中row_number() OVER (PARTITION BY COL1 ORDER BY COL2)
- ORACLE中row_number over(partition by col1 order by col2)用法
- row_number() over(partition by col1 order by col2)的用法
- Row_number () over (partition by col1 order by col2)的用法
- oracle ROW_NUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法(含lag lead用法)
- row_number() OVER (PARTITION BY COL1 ORDER BY COL2)
- row_number() OVER (PARTITION BY COL1 ORDER BY COL2)
- row_number()over(partition by col1 order by col2)
- row_number() OVER (PARTITION BY COL1 ORDER BY COL2)
- ORACLE中ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法
- ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法
- ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法
- ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法
- ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法
- ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法
- ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法
- ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法
- 学习计划ing
- Java之美[从菜鸟到高手演变]之智力题【史上最全】
- Day06第六天java基础------------面向对象
- 关于qt 的sqlite数据库的使用总结
- Day07第七天java基础----------继承
- ORACLE数据库中 row_number() over(partition by col1 order by col2) 用法
- HDU 1087
- 用递归方法建立二叉树
- Java RMI
- [转]个性化推荐--能否造就下一代霸主?
- Thinkphp 隐藏 index.php 方法
- Day08第八天java基础-----------多态
- 凸包(Convex hull)
- 从Win32程序的主函数WinMain中获取命令行参数