现在的位置: 首页 > 综合 > 正文

Oracle开发专题之:分析函数总结

2012年04月01日 ⁄ 综合 ⁄ 共 1039字 ⁄ 字号 评论关闭
这一篇是对前面所有关于分析函数的文章的总结:

一、统计方面:

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

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

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

具体请参考《Oracle开发专题之:分析函数3

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

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

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

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

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

具体请参考《Oracle开发专题之:报表函数

抱歉!评论已关闭.