首页 > 数据库 >oracle 分析函数 RANK、DENSE_RANK、ROW_NUMBER

oracle 分析函数 RANK、DENSE_RANK、ROW_NUMBER

时间:2023-04-26 20:01:27浏览次数:45  
标签:DENSE SAL SUM NUMBER RANK EMP EMP1 SELECT


Row_number函数返回一个唯一的值,当碰到相同数据时,排名按照记录集中记录的顺序依次递增。 

Dense_rank函数返回一个唯一的值,除非当碰到相同数据时,此时所有相同数据的排名都是一样的。 

Rank函数返回一个唯一的值,除非遇到相同的数据时,此时所有相同数据的排名是一样的,同时会在最后一条相同记录和下一条不同记录的排名之间空出排名。


用SCOTT/TIGER登录。


查询表EMP:

SELECT * FROM EMP;



结果:

oracle 分析函数 RANK、DENSE_RANK、ROW_NUMBER_数据


创建EMP的副本EMP1:

CREATE TABLE EMP1 AS SELECT * FROM EMP;



然后修改一些数据:

UPDATE EMP1 SET SAL=6000 WHERE EMPNO=7839;
UPDATE EMP1 SET SAL=2000 WHERE EMPNO=7499;
COMMIT;



查询表EMP1:

SELECT * FROM EMP1;



结果:

oracle 分析函数 RANK、DENSE_RANK、ROW_NUMBER_数据_02


然后用分析函数查询:

SELECT JOB, SUM(SAL), RANK() OVER (ORDER BY SUM(SAL) ASC), 
DENSE_RANK() OVER (ORDER BY SUM(SAL) ASC), 
ROW_NUMBER() OVER (ORDER BY SUM(SAL) ASC) 
FROM EMP1 GROUP BY JOB;



结果:

oracle 分析函数 RANK、DENSE_RANK、ROW_NUMBER_数据_03


标签:DENSE,SAL,SUM,NUMBER,RANK,EMP,EMP1,SELECT
From: https://blog.51cto.com/u_1002776/6228787

相关文章

  • B. Sum of Two Numbers - 贪心+思维+构造
    题意:给定一个整数n,输出x,y满足以下要求:1.x+y=n2.x的每一位上的数加在一起的数位和和y的数位和相差不超过1.分析:从高位开始依次遍历,将其平均分给x和y,奇数剩余的1由x和y轮流加上。代码:#include<bits/stdc++.h>#defineendl'\n'usingnamespacestd;......
  • [LeetCode] 1342. Number of Steps to Reduce a Number to Zero 将数字变成 0 的操作
    Givenaninteger num,return thenumberofstepstoreduceittozero.Inonestep,ifthecurrentnumberiseven,youhavetodivideitby 2,otherwise,youhavetosubtract 1 fromit.Example1:Input:num=14Output:6Explanation: Step1)14ise......
  • 【vue】error in ./src/components/NumberInfo/NumberInfo.vue
    出现背景:ant designvuepro执行yarnrunserve解决办法:修改src/components/NumberInfo.vue文件中style部分原来的:<stylelang="less"scoped>@import"index";</style>注释掉 @import"index"<stylelang="less"scoped&g......
  • codeforces 225B B. Well-known Numbers(数论+二分+贪心+构造)
    题目链接:codeforces225B题目大意:定义f(k,n)为类似菲波那契数推导,只不过变为前k项的和,然后给出一个数s,利用k-菲波那契数构造出一个不重复的集合的元素和为s,集合的规模大于1题目分析:首先因为菲波那契数的增长速度快的吓人,所以给的数据范围109很快就能达到,我们得到O(n)的构造出所有的......
  • HTML input type="number" 隐藏默认的步进箭头
    HTMLinputtype="number"隐藏默认的步进箭头number类型的<input>元素用于让用户输入一个数字,其包括内置验证以拒绝非数字输入。浏览器可能会选择提供步进箭头,让用户可以使用鼠标增加和减少输入的值,或者只需用指尖敲击即可。但有些场景需要隐藏默认的步进箭头。要隐藏HTML......
  • hive row_number分组排序top
    自从hive0.11.0开始,加入了类似orcle的分析函数,很强大,可以查询到分组排序top值使用方法跟oracle没有差别 贴个小例子查询的是同一个操作下pv前十的用户select*,row_number()OVER(PARTITIONBYt3.actionORDERBYpvdesc)ASflagfrom(selectaction,uuid,count(1)as......
  • UESTC Final Pan's prime numbers 1272 (坑)
    FinalPan'sprimenumbersTimeLimit:3000/1000MS(Java/Others)   MemoryLimit:65535/65535KB(Java/Others)Submit StatusFinalPanlikesprimenumbersverymuch.Oneday,hewanttofindthesuperprimenumbers.Aprimenumbers n(n>4)......
  • CF449D Jzzhu and Numbers
    CF449DJzzhuandNumbers黄金定律:给定序列求答案,但答案与序列顺序无关的题目,要么考虑把序列转权值序列,要么对序列排序。二进制题按大小排序看起来就没啥用,那就转成权值序列。即,设\(c(i)\)表示\(i\)在\(a\)中的出现次数。同时设\(V\)为\(a\)的值域。然后直接算发现不......
  • Apple iWork(Pages、Numbers、Keynote)13.0 - 文档、电子表格、演示文稿
    请访问原文链接:https://sysin.org/blog/apple-iwork-13/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org苹果今天将其专为iOS和macOS设备设计的iWork应用套件更新为版本12(sysin),引入了许多新功能和改进功能。文档、电子表格、演示文稿,尽可集思广益。Pages......
  • 两数相加-Add Two Numbers-中等
    两数相加AddTwoNumbers[M]题目:https://leetcode.cn/problems/add-two-numbers/description/?favorite=2cktkvj讲解https://www.youtube.com/watch?v=wgFPrzTjm7s&ab_channel=NeetCodepublicListNodeaddTwoNumbers(ListNodel1,ListNodel2){ListNoded......