oracle row_number() over(partition by .. order by ..)和rank() over(partition by .. order by ..) 和dense_rank() over(partition by .. order by ..)的相似点与区别
新建一个测试表
create table dim_ia_test2(device_number varchar2(20),desc2 varchar2(20))
插入数据后得到:

一、oracle row_number() over(partition by .. order by ..)
只以电话号码排序,默认升序
select device_number,desc2,row_number() over(order by device_number ) rn from dim_ia_test2;

以电话号码分组,并排序
select device_number,desc2,row_number() over(partition by device_number order by device_number ) rn from dim_ia_test2;

row_number的排序特点为顺序排
二、rank() over(partition by .. order by ..)
select device_number,desc2,rank() over(order by device_number ) rn from dim_ia_test2;

select device_number,desc2,rank() over(partition by device_number order by device_number ) rn from dim_ia_test2;

三、dense_rank() over(partition by .. order by ..)
select device_number,desc2,dense_rank() over(order by device_number ) rn from dim_ia_test2;

select device_number,desc2,dense_rank() over(partition by device_number order by device_number ) rn from dim_ia_test2;

以上是三个排序的开窗函数,row_number() over(partition by .. order by ..)由于是顺序排序,分组和排序都比较有意义;
rank() over(partition by .. order by ..)排序是跳跃的,排序比较有意义;
和dense_rank() over(partition by .. order by ..)排序是顺序的,排序比较有意义;
oracle row_number() over(partition by .. order by ..)和rank() over(partition by .. order by ..) 和dense_rank() over(partition by .. order by ..)的相似点与区别的更多相关文章
- oracle row_number()
要求查询每个用户对应的最大样品信息,忽然想到ms sql提供过 row_number() over(partition by 列 order by 列 desc),那么oracle可能也存在, 我的表 ...
- PCB MS SQL 排序应用(row_number rank dense_rank NTILE PARTITION)
一.排序前,准备数据 --表变量 ),流程数 int) insert into @table union all union all union all union all --查看一下 select ...
- oracle ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2)
工作中遇到的一个问题,需要对某列进行分组排序,取其中排序的第一条数据项 用到了ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2)来解决此问题. 实例准 ...
- oracle ROW_NUMBER() OVER(PARTITION BY '分组' ORDER BY '排序' DESC) 用法
转载:https://blog.csdn.net/dbagaoshou/article/details/51330829 SELECT * FROM ( SELECT ROW_NUMBER() OVE ...
- sql server 学习笔记 ( row_number, rank, dense_rank over partition by order by )
refer : https://blog.csdn.net/winer2008/article/details/4283539 https://www.cnblogs.com/linJie193090 ...
- 问题:oracle ROW_NUMBER()over;结果: ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法
ORACLE 中的 ROW_NUMBER() OVER() 分析函数的用法 ROW_NUMBER() OVER(partition by col1 order by col2) 表示根据col1分组, ...
- oracle ROW_NUMBER用法
Oracle中row_number().rank().dense_rank() 的区别 row_number的用途非常广泛,排序最好用它,它会为查询出来的每一行记录生成一个序号,依次排序且不会重复 使 ...
- oracle row_number的使用
create table studentInfo( id number(8) primary key, name varchar2(20) not null, ObjectName varcha ...
- Oracle row_number() over() 分析函数--取出最新数据
语法格式:row_number() over(partition by 分组列 order by 排序列 desc) 一个很简单的例子 1,先做好准备 create table test1( id v ...
随机推荐
- 生成随机验证码,上传图片文件,解析HTML
1.生成随机图片验证码 1.1 页面调用createvalidatecode 生成随机图片验证码方法: <div class="inputLine"><label ...
- jiagu-工具使用
比较好的一套处理工具吧,感谢作者,原文地址:https://github.com/ownthink/Jiagu 练习一下使用 """ Funciton: jiagu测试 ...
- Python之路【第二十五篇】:数据库之pymysql模块
数据库进阶 一.pymysql模块 pymysql是Python中操作Mysql的模块,其使用的方法和py2的MySQLdb几乎相同. 二.pymysql模块安装 pip install pymysq ...
- NetCore 统一处理 webapi 返回null 转为“”
数据库中部分表字段允许空值,则代码中实体类对应的字段类型为可空类型Nullable<>,如int?,DateTime?,null值字段序列化返回的值都为null,前端对应字段赋值需要做nu ...
- 防止用iframe调用网页dom元素
<system.webServer> <httpProtocol> <customHeaders> <add name="X-Frame-Optio ...
- 超简单的VUE在线调试网站(不需搭建环境)
jsbin.com提供简单.直观.易用的vue调试功能,最大的好处不需要自己搭建环境就可以学习VUE 1.打开http://jsbin.com/joxinumota/edit?html,js,cons ...
- Centos7安装Tomcat7,并上传JavaWeb项目
一.需要的工具(其他连接工具也行) 1.Xshell 2.XFTP 1.1首先将Tomcat7的压缩文件利用XFTP上传到Centos7系统上的 /etc/local/tomcat中 1.2 解压文件 ...
- ios app UI自动化测试用到的命令
ios测试的app测试包,真机设备需要开发者证书并且将测试机的udid加入到pp文件文件,configruation 要求为debug模式的ipa包, 1.苹果手机的UDID, a.通过 xcode- ...
- ReactiveObjC basic
基础-> https://www.jianshu.com/p/cd4031fbf8ff 在RAC中,万物皆信号. RAC 指的就是 RactiveCocoa ,是 Github 的一个开源框架, ...
- Resource注解无法导入依赖使用javax.annotation的注解类
Resource注解无法导入依赖使用javax.annotation的注解类 使用javax.annotation的注解类 javax.annotation.Resource 注解在eclipse中无 ...