`
keke_wanwei
  • 浏览: 124123 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

oracle rank()函数总结

阅读更多

首先,要了解rank在英语的意思:等级.也就是说这是一个给数据确定等级的函数.

以销售为例,有地区,年,月,销售员,销售额,记录这五个字段.我们可以按地区,年,月,销售额对销售员进行排序,这样对销售员来说就相当于有一个等级概念了,第一名就是销售最高的......,如果我们要找出每个地区,年,月,销售额的前三名销售员.SQL如何写?

java 代码
  1. SELECT area_code, YEAR, MONTH, saleroom,saler   
  2.        RANK () OVER 
  3.     (PARTITION BY area_code,year ,month ORDER BY area_code,year,month,saleroom ) RANK   
  4. FROM t_sale  

现在RANK 就是1,2,3,3,3,6,有了这个字段,就很容易得到前三名的销售员了.

新问题:销售额50000块在深圳,2007年5月能排到第几?

sql 代码
  1. SELECT    
  2.       RANK('SHENZHEN',2007,5,50000)  WITHIN GROUP    
  3.       (ORDER BY area_code,year,month,saleroom) Rank    
  4. FROM T_SALE  

上面这个SQL就可以搞定了.要注意的是,Rank()里的参数必须为常数,或常值表达式,里面参数的个数,类型也要和order by后字段的类型相对应.

上面就是Rank函数的两个用法.另外还有一个dense_rank(),它的用法和rank()一样,只是计算等级的方式不同.例如上面的

1,2,3,3,3,6.用dense_rank() 就是1,2,3,3,3,4.

分享到:
评论
2 楼 sgp420 2013-02-01  
没这个函数,要实现这个还真有些难度;
1 楼 yinghuayu1324117 2011-04-11  
look look

相关推荐

    oracle分析函数,窗口函数,报表函数

    oracle分析函数,窗口函数,报表函数 分析函数(OVER) 分析函数2(Rank, Dense_rank, row_number) 分析函数3(Top/Bottom N、First/Last、NTile)

    Oracle 分析函数.doc

    Oracle 分析函数详解 1. 自动汇总函数rollup,cube, 2. rank 函数, rank,dense_rank,row_number 3. lag,lead函数 4. sum,avg,的移动增加,移动平均数 5. ratio_to_report报表处理函数 6. first,last取基数的分析函数

    oracle 分析函数详解(有例子)

    6 Oracle开发专题之:分析函数总结 7 Oracle开发专题之:26个分析函数 8 分析函数简述">1 Oracle开发专题之:分析函数 OVER 2 Oracle开发专题之:分析函数 Rank Dense rank row number 3 Oracle开发专题之:分析...

    ORACLE分析函数

    Oracle分析函数RANK(),ROW_NUMBER(),LAG()等的使用方法 Oracle分析函数参考手册 开窗函数(over)详解

    ORACLE 常用分析函数

    分析函数总结;26个分析函数;PLSQL开发笔记和小结;分析函数简述  ROW_NUMBER () OVER([partition_clause] order_by_clause) dense_rank在做排序时如果遇到列有重复值,则重复值所在行的序列值相同,而其后的序列值...

    深入浅出Oracle分析函数

    目录 Oracle开发专题之:分析函数(OVER) Oracle开发专题之:分析函数2(Rank, ...报表函数 Oracle开发专题之:分析函数总结 Oracle开发专题之:26个分析函数 PLSQL开发笔记和小结 分析函数简述

    包含了所有的oracle函数文档

    Oracle 函数分类 :单行函数 分组函数 分析函数单行函数分为:日期函数 数字函数 字符函数 转换函数 其他函数分组函数分为:max(最大值) min(最小值) sum(求和) avg(平均) count(求个数) 分析函数分为:rank() 具有相同...

    Oracle分析函数

    Oracle分析函数——函数列表 SUM :该函数计算组中表达式的累积和 MIN :在一个组中的数据窗口中查找表达式的最小值 MAX :在一个组中的数据窗口中查找表达式的最大值 AVG :用于计算一个组和数据窗口内表达式的...

    Oracle_详解分析函数

    详解Oracle分析函数,主用于OLAP,以实例讲解分析函数. 如: 排序用Rank, Dense_rank, row_number 1.带空值的排列 2.Top/Bottom N查询 3.First/Last排名查询 4.按层次查询 1.窗口函数简介 2.窗口函数示例-全统计 3....

    oracle_排列rank()函数

    oracle_排列rank()函数

    Oracle分析函数中文+英文【英文非中文的配套】

    1、oracle分析函数 中文: 主要含: rank() 和 dense_rank() first_value()和last_value() row_number() LAG() range开窗函数 2、oracle分析函数 英文: 比较详细

    oracle分析函数

    ·4Oracle分析函数四——函数RANK,DENSE_RANK,FIRST,LAST… ·5Oracle分析函数五——统计分析函数 ·6Oracle分析函数六——数据分布函数及报表函数 ·7Oracle分析函数七——分析函数案例 ·8Oracle分析函数八...

    oracle高级函数说明

    包含Oracle常用的高级函数,比如取前N名,每个分组的前N名等。 详细介绍Oracle分析函数(OVER、Rank、Dense_rank、row_number、Top/Bottom N、First/Last、NTile) ,窗口函数,报表函数

    Oracle排名函数(Rank)实例详解

    主要介绍了Oracle排名函数(Rank)实例详解,需要的朋友可以参考下

    Oracle中rank,over partition函数的使用方法

    本文主要介绍Oracle中rank,over partition函数的用法,希望对大家有所帮助。

    oracle-10G函数大全.chm

    1,数值型函数(abs()、sign()、ceil()、floor()、power()、exp()、round()...);...6,分析函数(sum(...) over(...)、dense_rank、row_number()、lag()...); 7,其它函数(decode()、nvl()、nvl2()、least()...);

    oracle 分析函数

    oracle 分析函数 rank dense_rank cube等

    Oracle 分析函数的使用.doc

    从论坛搜到的,感觉还不错,整理成了word文档,希望对...2. rank 函数, rank,dense_rank,row_number 3. lag,lead函数 4. sum,avg,的移动增加,移动平均数 5. ratio_to_report报表处理函数 6. first,last取基数的分析函数

    oracle分析函数在BI分析中应用事例

    聚合函数可以是:sum,count,avg,max,min,first_value,last_value,rank,dense_rank ,row_number, ratio_to_report Over不能单独使用,用来制定数据窗口大小 Partition by表示分类数据集合,在此集合上的运算 Order by...

    深入浅出oracle分析函数(全)

    分析函数(OVER) 分析函数2(Rank, Dense_rank, row_number) 分析函数3(Top/Bottom N、First/Last、NTile) 窗口函数 报表函数 ...分析函数总结 26个分析函数 PLSQL开发笔记和小结 分析函数简述

Global site tag (gtag.js) - Google Analytics