Server/MariaDB

[MariaDB] 분석 함수

클리엘 2021. 7. 23. 15:33
728x90

1. lead()

 

다음 데이터 와이 값의 차이를 표시합니다.

select BusinessName, SupplyPrice - (lead(SupplyPrice, 1) over (order by SupplyPrice desc)) as '차액'
from tb_purchasebill tp ;

위 예제는 SupplyPrice라는 값을 기준으로 다음에 나오는 SupplyPrice와의 차이를 표시하도록 합니다. 예제에서 함수에 전달한 1 값은 다음 1번째 행을 의미합니다.

 

2. lag()

 

lead()와 동일한 개념이며 단지 '다음행'이 아닌 '이전행'의 데이터 차이를 표시한다는 차이 뿐입니다.

select BusinessName, SupplyPrice - (lag(SupplyPrice, 1) over (order by SupplyPrice desc)) as '차액'
from tb_purchasebill tp

3. first_value()

 

lead()나 lag()와는 달리 첫 번째 값을 기준으로만 차이를 표시합니다.

select BusinessName, SupplyPrice - (first_value(SupplyPrice) over (order by SupplyPrice desc)) as '차액'
from tb_purchasebill tp ;

4. cume_dist()

 

백분율 누적합계를 표시합니다.

select BusinessName, cume_dist() over (order by SupplyPrice desc)
from tb_purchasebill tp ;
728x90