메모장

05-6 분석함수 본문

DB/[SQL 입문]

05-6 분석함수

Itchild 2024. 4. 12. 12:13
728x90
반응형

 

 

✔️ 앞 또는 뒤의 행 참조하기: LAG, LEAD 함수

 

앞이나 뒤의 행을 비교해 데이터 처리를 할때 LAG 함수나 LEAD함수를 사용하면 SELF JOIN문을 사용하지 않아도 되므로 간편한다. LAG 함수는 현재 행에서 바로 앞의 행에 접근하고, LEAD 함수는 현재 행에서 바로 뒤의 행에 접근한다.

1행에 값이 NULL 이므로 현재 행의 바로 앞에 행을 참고하기 때문에 1행이 NULL이라 2행이 NULL, 3행이 2행꺼 참고하고 3행도 NULL, 그래서 5행까지 NULL이다.


LEAD 함수는 뒤에 부터 참고한다.

 

✔️ 상대 순위 계산하기 : PERCENT_RANK 함수

 

PERCENT_RANK 함수는 상대 순위를 계산 할 수 있다. 또한 쿼리 결과 또는 파티션 내 의 상대 순위를 평가 할 수도 있다.

카테고리의 PK가 5번까지 있는데 그것에 대한 상대 순위 PERCENT_RANK 이다.

 

✔️ 중앙값 계산하기: PERCENTILE_CONT, PERCENTILE_DISC 함수

 

PERCENTILE_CONT와 PERCENTILE_DISC 는 모두 중앙값을 계산하는 함수이다.

PERCENTILE_CONT , PERCENTILE_DISC 함수의 기본형식
PERCENTILE_CONT [PERCENTILE_DISC] (numeric_literal)
WITHIN GROUP (ORDER BY order_by_expression [ASC : DESC])
OVER ([<partition_by_clause>])
 

여기서 매개변수 numeric_literal 에 전달하는 인자는 계산할 백분위 수 이며 범위는 0.0~1.0 사이이다.

WITHIN GROUP (ORDER BY order_by_expression [ASC : DESC]) 는 정렬할 숫잣값 목록을 지정하며 기본 정렬 순서는 오름차순인 ASC 이다. PERCENTILE_CONT, PERCENTILE_DISC함수는 데이터 집합에서 NULL 값은 무시한다. PERCENTILE_CONT함수는 데이터셋에 있거나 없을수 있는 적절한 값을 보간한 결과를 반환하며, PERCENTILE_DISC 함수는 정확한 위치의 실젯값인 중위수를 추출할때 사용한다.

 

✔️ 정렬된 첫번째 / 마지막 행의 값 구하기 : FIRST_VALUE, LAST_VALUE 함수

 

FIRST_VALUE 함수는 정렬된 데이터에서 첫번째 행의 값을 반환하며 LAST_VALUE 함수는 마지막 행의 값을 반환한다.

 

728x90
반응형

'DB > [SQL 입문]' 카테고리의 다른 글

05-5 순위함수  (0) 2024.04.12
05-4 수학함수  (0) 2024.04.11
05-3 집계함수  (0) 2024.04.11
05-2 날짜 함수  (0) 2024.04.11
05-1 문자열 함수  (0) 2024.04.11