加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

【 ORACLE】 ROW_NUMBER() OVER() 分析函数实践

发布时间:2020-12-12 14:39:23 所属栏目:百科 来源:网络整理
导读:oracle 中的 ROW_NUMBER() OVER() 分析函数的用法 ROW_NUMBER() OVER(partition by col1 order by col2) 表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内是连续且唯一的)。 有数据表省市表T1 字段 类型
ID VARCHAR2(32) 否 主键 PROVINCEID VARCHAR2(200) 是 省份ID CITYID VARCHAR2(200) 是 城市ID

- 数据如下:

SELECT ID,PROVINCEID,CITYID,ROW_NUMBER() OVER(partition by ID order by CITYID desc) as RANK FROM T1;
001 AAA 101 001 AAA 102 002 BBB 101 002 BBB 102 002 BBB 103

- 把上面语句作为一个子表语句,嵌入到另一条语句中:

SELECT ID,CITYID FROM (SELECT ID,ROW_NUMBER() OVER(partition by ID order by CITYID desc) as RANK FROM T1 ) T WHERE T.RANK=1;
001 AAA 102 002 BBB 103

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

oracle 中的 ROW_NUMBER() OVER() 分析函数的用法

ROW_NUMBER() OVER(partition by col1 order by col2) 表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内是连续且唯一的)。

  • 有数据表省市表T1
字段 类型 默认 注释
ID PROVINCEID CITYID
ID PROVINCEID CITYID
    推荐文章
      热点阅读