在Oracle中,OVER函數用于計算窗口函數的值。其參數解析如下:
- PARTITION BY:指定分組的列,即按照哪些列進行分組計算窗口函數的值。
- ORDER BY:指定排序的列,即按照哪些列對分組進行排序。
- ROWS/RANGE:指定窗口的范圍,可以是ROWS表示按照行數進行計算,也可以是RANGE表示按照值的范圍進行計算。
- UNBOUNDED PRECEDING/FOLLOWING:指定窗口的起始和結束位置,可以是UNBOUNDED PRECEDING表示窗口從第一行開始,也可以是UNBOUNDED FOLLOWING表示窗口直到最后一行結束。
- CURRENT ROW:表示當前行。
- BETWEEN:用于指定窗口的起始和結束位置,例如BETWEEN 1 PRECEDING AND 1 FOLLOWING表示窗口包括當前行及其前后一行。
- AGGREGATE FUNCTION:指定要計算的窗口函數,例如SUM、AVG等。
- ALIAS:為計算的窗口函數指定別名。