oracle的开窗函数

select *

from (select province,

commodity,

sum(price),

ROW_NUMBER() OVER(PARTITION BY province  order by sum(price) desc) rn

from test141211

group by province, commodity

-- order by province desc, sum(price) desc

)

where rn <= 5

时间: 2024-10-09 04:02:41

oracle的开窗函数的相关文章

oracle的分析函数over 及开窗函数

转:http://www.2cto.com/database/201310/249722.html 一:分析函数over Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是 对于每个组返回多行,而聚合函数对于每个组只返回一行. 下面通过几个例子来说明其应用. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

[转]Oracle 语法之 OVER (PARTITION BY ..) 及开窗函数

oracle的分析函数over 及开窗函数 一:分析函数Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是 对于每个组返回多行,而聚合函数对于每个组只返回一行. 下面通过几个例子来说明其应用. 1:统计某商店的营业额. date       sale 1           20 2           15 3           14 4           18 5           30 规则:按天统计:每天都统计前面几天的总额 se

oracle分析函数技术详解(配上开窗函数over())

一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计值. 分析函数和聚合函数的不同之处是什么?普通的聚合函数用group by分组,每个分组返回一个统计值,而分析函数采用partition by分组,并且每组每行都可以返回一个统计值. 分析函数的形式分析函数带有一个开窗函数over(),包含三个分析子句:分组(partition by), 排序(or

SQL开窗函数

开窗函数:在开窗函数出现之前存在着很多用 SQL 语句很难解决的问题,很多都要通过复杂的相关子查询或者存储过程来完成.为了解决这些问题,在 2003 年 ISO SQL 标准加入了开窗函数,开窗函数的使用使得这些经典的难题可以被轻松的解决.目前在 MSSQLServer.Oracle.DB2 等主流数据库中都提供了对开窗函数的支持,不过非常遗憾的是 MYSQL 暂时还未对开窗函数给予支持. 开窗函数简介:与聚合函数一样,开窗函数也是对行集组进行聚合计算,但是它不像普通聚合函数那样每组只返回一个值

深入浅出谈开窗函数(一)

      在开窗函数出现之前存在着非常多用 SQL 语句非常难解决的问题,非常多都要通过复杂的相关子查询或者存储过程来完毕.为了解决这些问题,在2003年ISO  SQL标准增加了开窗函数,开窗函数的使用使得这些经典的难题能够被轻松的解决.眼下在 MSSQLServer.Oracle.DB2 等主流数据库中都提供了对开窗函数的支持,只是非常遗憾的是 MYSQL 临时还未对开窗函数给予支持.  为了更加清楚地理解,我们来建表并进行相关的查询(截图为MSSQLServer中的结果)        

SQL SERVER开窗函数

SQL SERVER开窗函数 总结的很好,转来做个笔记. 转自:http://www.cnblogs.com/csdbfans/p/3504845.html 今天将要介绍SQL Sever的开窗函数,何谓开窗函数,不懂吧.反正对于我来说,我是摸不着头脑了,第一次听说过.那么,什么是开窗函数,其实可以理解为是聚合函数的一个加强版.因为使用聚合函数的话(不包括子查询的情况),整个查询都只能是聚合列返回值,而不能有基础行的返回值.那么对于需要基础行的返回值的话,就需要使用复杂的子查询或者是存储过程等才

Oacle 开窗函数 分析函数

http://zonghl8006.blog.163.com/blog/static/4528311520083995931317/ over(Partition by...) 一个超级牛皮的ORACLE特有函数. 天天都用ORACLE,用了快2年了.最近才接触到这个功能强大而灵活的函数.真实惭愧啊! oracle的分析函数over 及开窗函数一:分析函数overOracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对

分析函数之开窗函数over

一.分析函数 -- Oracle从8.1.6开始提供分析函数,专门用于解决复杂报表统计需求的功能强大的函数, -- 它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计值.分析函数用于计算基于组的某种聚合值. -- 它和聚合函数的不同之处是:对于每个组返回多行,而聚合函数对于每个组只返回一行.普通的聚合函数用group by分组, -- 每个分组返回一个统计值:而分析函数采用partition by分组,并且每组每行都可以返回一个统计值. -- 1.分析函数的形

Oracle 中 decode 函数用法

Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) ......ELSIF 条件=值n THEN RETURN(翻译值n)ELSE RETURN(缺省值)END IFdecode(字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值