WEB开发网
开发学院数据库Oracle Oracle分析函数over及开窗函数 阅读

Oracle分析函数over及开窗函数

 2008-08-30 12:44:49 来源:WEB开发网   
核心提示:分析函数over 及开窗函数 一:分析函数overOracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,Oracle分析函数over及开窗函数,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行,下面通过几个例子来说明其应用,1:统计某商店的营业额

分析函数over 及开窗函数

一:分析函数over

Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是

对于每个组返回多行,而聚合函数对于每个组只返回一行。

下面通过几个例子来说明其应用。

1:统计某商店的营业额。

date  sale

1     20

2     15

3     14

4     18

5     30

规则:按天统计:每天都统计前面几天的总额

得到的结果:

DATE  SALE  SUM

----- -------- ------

1    20 20  --1天

2    15 35   --1天+2天

3    14 49   --1天+2天+3天

4    18      67 .

5    30      97 .

2:统计各班成绩第一名的同学信息

NAME CLASS  S

----- ----- ----------------------

fda    1     80

ffd    1     78

dss    1     95

cfe    2     74

gds    2     92

gf      3     99

ddd    3     99

adf    3     45

asdf   3     55

3dd    3     78

通过:

--
  select*from
  (
  selectname,class,s,rank()over(partitionbyclassorderbysdesc)mmfromt2
  )
  wheremm=1
--

得到结果:

NAME CLASS S MM

----- ----- ---------------------- ----------------------

dss   1    95  1

1 2  下一页

Tags:Oracle 分析 函数

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接