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

三、最大值/最小值查找方面:
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 (),  1 Over ( [ Patition by  ]   [ Order by  ] )

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

你可能感兴趣的:(Oracle开发专题之:分析函数总结)