over()函數是一種動態窗口函數,用于在SQL中對數據進行分析和處理。一些常見的over()函數包括:
- ROW_NUMBER():為結果集中的行添加一個唯一的行號。
- RANK():計算結果集中每行的排名,相同值的行將會有相同的排名,但是會有空位。
- DENSE_RANK():計算結果集中每行的排名,相同值的行將會有相同的排名,但是不會有空位。
- NTILE():將結果集分成指定數量的桶,并為每個桶分配一個編號。
- SUM():計算結果集中指定列的和。
- AVG():計算結果集中指定列的平均值。
- MAX():計算結果集中指定列的最大值。
- MIN():計算結果集中指定列的最小值。
- COUNT():計算結果集中指定列的非空值的數量。
這些over()函數可以與PARTITION BY子句一起使用,以對結果集中的數據進行分組,從而對分組內的數據進行分析和處理。