• 排序:累计值
  • 不排序:相同值
  • 《排序函数》和《位移函数》一定要排序

.

———————————————————

——— 分析函数 || 聚合函数 ———

———————————————————

.

◎ 普通的聚合函数用group by分组
◎ 每个分组返回一个统计值
◎ 而分析函数采用partition by分组
◎ 并且每组每行都可以返回一个统计值

分析函数语法格式:

  1. -- FUNCTION_NAME (<参数>,…) OVER (<PARTITION BY 表达式,…> <ORDER BY 表达式 <ASC DESC> )
  2. AVG ( SAL ) OVER( PARTITION BY ENAME ORDER BY EMPNO )
  3. MAX()
  4. MIN()
  5. SUM()
  6. COUNT()

————————————

——— 排序函数 ———

————————————

.

ROW_NUMBER
相同数据,排名按照记录集中记录的顺序依次递增

DENSE_RANK
相同数据,此时所有相同数据的排名都是一样的,不空出排名。

RANK
相同数据,此时所有相同数据的排名是一样的,空出排名。

————————————

——— 位移函数 ———

————————————

.

  1. LAG ( A1,A2,A3 ) OVER( PARTITION BY xx ORDER BY xx )
  2. LEAD( A1,A2,A3 ) OVER( PARTITION BY xx ORDER BY xx )
  3. ------------------------------------------------
  4. 第一个参数是 列名
  5. 第二个参数是 偏移的offset
  6. 第三个参数是 超出记录窗口时的默认值0000