Oracle开发专题之:分析函数总结(转载)

这一篇是对前面所有关于分析函数的文章的总结:

一、统计方面:

Sum ( Over  ( [ Partition by  ]   [ Order by  ] )

Sum ( Over  ( [ Partition by  ]   [ Order by  ]   
     Rows 
Between   Preceding  And   Following)
       
Sum ( Over  ( [ Partition by  ]   [ Order by  ]
     Rows 
Between   Preceding  And   Current  Row)

Sum ( Over  ( [ Partition by  ]   [ Order by  ]
     Range 
Between  Interval  ' '   ' Day '  Preceding
                    
And  Interval  ' '   ' Day '  Following )


具体请参考《Oracle开发专题之:分析函数(OVER)》和《Oracle开发专题之:窗口函数


二、排列方面:

Rank()  Over  ( [ Partition by  ]   [ Order by  ]   [ Nulls First/Last ] )

  Dense_rank() 
Over  ( [ Patition by  ]   [ Order by  ]   [ Nulls First/Last ] )
   
Row_number() 
Over  ( [ Partitionby  ]   [ Order by  ]   [ Nulls First/Last ] )
   
Ntile(
Over  ( [ Partition by  ]   [ Order by  ] )


具体请参考《Oracle开发专题之:分析函数2(Rank, Dense_rank, row_number)

三、最大值/最小值查找方面:

Min () / Max () Keep (Dense_rank First / Last  [ Partition by  ]   [ Order by  ] )


具体请参考《Oracle应用专题之:分析函数3(Top/Bottom N、First/Last、NTile)

四、首记录/末记录查找方面:

First_value  /  Last_value( Sum ( Over  ( [ Patition by  ]   [ Order by  ]
       Rows 
Between   Preceding  And   Following  ))


具体请参考《Oracle开发专题之:窗口函数

五、相邻记录之间比较方面:

Lag( Sum (),  1 Over ( [ Patition by  ]   [ Order by  ] )


具体请参考《Oracle开发专题之:窗口函数

 

转载自:http://www.blogjava.net/pengpenglin/archive/2008/06/29/211491.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值