7. SQL 응용 - Chapter 2. 응용 SQL 작성하기
Chapter 2. 응용 SQL 작성하기
*다중행 함수의 분류
--> 집그윈
집계함수 / 그룹함수 / 윈도함수
1. 집계함수
SELECT 컴럼1, 컬럼2, ... , 집계합수
FROM 테이블명
[WHERE 조건[
GROUP BY 컬럼1, 컬럼2, ...
[HAVING 조건식(집계함수 포함)]
* 집계함수 종류 : COUNT , SUM , AVG, MAX, MIN , STDDEV, VARIAN
2. 그룹함수
: 테이블의 전체 행을 하나 이상의 컬럼을 기준으로 컬럼값에 따라 그룹화하여 그룹별로
결과를 출력하는 함수
* ROULLUP 함수 / CUBE 함수 / GROUPING SETS 함수
중간 집계값 산출 - 다차원 집계 - 개별 집계
3. 윈도함수
: 온라인 분석 처리 용도로 사용하기위해 표준 SQL에 추가된 함수 ( = OLAP 함수),
GROUP BY 절 사용X => 행그룹을 기반 집계값 계산
* 윈도함수 유형 --> 순행비
1) 순위 함수 : 레코드의 순위 계산
RANK - 공동 순위 반영 (2위,2위,2위,5위,6위)
DENSE_RANK - 공동 순위 무시 (2위,2위,2위,3위,4위)
ROW_NUMBER - 동일 순위 값 존재해도 무관하게 연속 번호 부여 (2위,3위,4위,5위)
2) 행 순서 함수
FIRST_VALUE - 가장 먼저 나오는 값
LAST_VALUE - 가장 늦게 나오는 값
LAG - 이전 로우의 값
LEAD - 이후 로우의 값
3) 그룹 내 비율 함수 - 비율과 관련된 통계 보여줌
RATIO_TO_REPORT - 그룹의 합 기준 로우의 상대적 비율
PERCENT_RANK - 값이 아닌 행의 순서별 백분율(0~1의 범위 값을 가짐)