[Certification]/[SQLD] Structured Query Language Develop

[SQLD] 4-6. SQL 활용 - 윈도우 함수, Window Function 문법, RANK, DENSE_RANK, ROW_NUMBER, SUM, COUNT, FIRST_VALUE, LAG, LEAD, RATIO_TO_REPORT, PERCENT_RANK, CUME_DIST, NTILE

starterr 2024. 9. 24. 13:51

 

A. Window Function 개요

 

1. 분석 함수(ANALYTIC FUNCTION)나 순위 함수(RANK FUNCTION)
2. 행과 행간의 관계 정의, 행과 행간 비교 및 연산하는 것
3. 데이터웨어하우스에서 발전
4. 서브쿼리에서 사용 가능

 

 

B. Window Function 문법

 

Window Function 문법
Window Function 문법

 

Window Function 문법
Window Function 문법
Window Function 문법
Window Function 문법

 

C. WINDOW FUNCTION 종류

 

윈도우 함수 설 명
그룹 내 순위 함수 RANK, DENSE_RANK, ROW_NUMBER 함수
ANSI/ISO SQL 표준과 Oracle, SQL Server 등 대부분의 DBMS에서 지원
그룹 내 집계 함수 SUM,MAX, MIN, AVG, COUNT 함수
ANSI/ISO SQL 표준과 Oracle, SQL Server 둥 대부분의 DBMS에서 지원
SQL Server의 경우 집계 함수는 OVER 절 내의 ORDER BY 구문을 지원하지 않음
그룹 내 행 순서 함수 FIRST_VALUE, LAST_VALUE, LAG, LEAD 함수
Oracle 에서 만 지원
그룹 내 비율 함수 RATIO_TO_REPORT,PERCENT_RANK, NTILE, RATIO_TO_REPORT 함수
CUME_DIST, PERCENT_RANK 함수는 ANSI/ISO SQL 표준과 Oracle DBMS에서 지원
NTILE 함수는 Oracle, SQL Server에서 지원
RATIO_TO_REPORT 함수는 Oracle에서만 지원되는 함수
통계 분석 함수 통계에 특화된 기능

 

반응형

 

D. 그룹 내 순위 함수 - RANK

 

1) ORDER BY를 포함
2) 특정 항목(칼럼)에 대한 순위를 구하는 함수
3) PARTITION 또는 전체 범위에서 순위를 구할 수 있음
4) 동일한 값은 동일한 순위 부여

그룹 내 순위 함수 - RANK
그룹 내 순위 함수 - RANK

 

 

E. 그룹 내 순위 함수 - DENSE_RANK

 

1) ORDER BY를 포함
2) 특정 항목(칼럼)에 대한 순위를 구하는 함수
3) PARTITION 또는 전체 범위에서 순위를 구할 수 있음
4) 동일한 순위를 하나의 건수로 취급

E. 그룹 내 순위 함수 - DENSE_RANK
E. 그룹 내 순위 함수 - DENSE_RANK

 

F. 그룹 내 순위 함수 - ROW_NUMBER

 

1) ORDER BY를 포함
2) 특정 항목(칼럼)에 대한 순위를 구하는 함수
3) PARTITION 또는 전체 범위에서 순위를 구할 수 있음
4) 동일한 값이라도 고유한 순위를 부여

 

F. 그룹 내 순위 함수 - ROW_NUMBER
F. 그룹 내 순위 함수 - ROW_NUMBER

 

G. 일반 집계 함수 - SUM

1. ORDER BY 절이 추가되면 파티션 내 데이터를 정렬하고 이전 데이터들의 누적 값을 출력
2. SQL SERVER는 ORDER BY 절을 지원하지 않음

G. 일반 집계 함수 - SUM
G. 일반 집계 함수 - SUM

 

반응형

H. 일반 집계 함수 - COUNT

1. ORDER BY 절이 추가 되면 파티션 내 데이터를 정렬하고 이전 데이터들의 누적 값을 출력
2. SQL SERVER는 ORDER BY 절을 지원하지 않음

H. 일반 집계 함수 - COUNT
H. 일반 집계 함수 - COUNT

 

I. 그룹 내 행 순서 함수 - FIRST_VALUE

1. 파티션별 가장 먼저 나온 값 출력
2. SQL SERVER 지원하지 않음
3. 공동 등수를 인정하지 않고 처음 나온 행 출력

I. 그룹 내 행 순서 함수 - FIRST_VALUE
I. 그룹 내 행 순서 함수 - FIRST_VALUE

 

 

J. 그룹 내 행 순서 함수 - LAG

1. 이전 행의 값을 출력
2. SQL Server에서는 지원하지 않음
3. 3개의 ARGUMENTS 까지 사용 가능
4. 두 번째 인자는 몇 번째 앞의 행을 가져올 것인지 결정(DEFAULT 1)
5. 세 번째 인자는 로우에 값이 없는 경우 특정 값을 출력

 

J. 그룹 내 행 순서 함수 - LAG
J. 그룹 내 행 순서 함수 - LAG

 

K. 그룹 내 행 순서 함수 - LEAD

1. 다음 행의 값을 가져와 출력
2. SQL Server에서는 지원하지 않음
3. 3개의 ARGUMENTS 까지 사용 가능
4. 두 번째 인자는 몇 번째 앞의 행을 가져올 것인지 결정(DEFAULT 1)
5. 세 번째 인자는 로우에 값이 없는 경우 특정 값을 출력

 

K. 그룹 내 행 순서 함수 - LEAD
K. 그룹 내 행 순서 함수 - LEAD

 

반응형

L. 그룹 내 행 비율 함수 - RATIO_TO_REPORT

1. 전체 SUM(칼럼)값에 대한 행 별 칼럼 값의 백분율 출력
2. 결과 값은 > 0 과 <= 1의 범위
3. 개별 RATIO 의 합은 1
4. SQL Server에서는 지원하지 않는 함수

L. 그룹 내 행 비율 함수 - RATIO_TO_REPORT
L. 그룹 내 행 비율 함수 - RATIO_TO_REPORT

 

M. 그룹 내 행 비율 함수 - PERCENT_RANK

 

1. 파티션별 원도우에서 제일 먼저 나오는 것을 0
2. 파티션별 원도우에서 제일 늦게 나오는 것을 1
3. 값이 아닌 행의 순서별 백분율
4. 결과 값은 >= 0 과 <= 1의 범위
5. SQL Server에서는 지원하지 않는 함수

M. 그룹 내 행 비율 함수 - PERCENT_RANK
M. 그룹 내 행 비율 함수 - PERCENT_RANK

 

N. 그룹 내 비율 함수 - CUME_DIST

1. 파티션별 윈도우 전체건수에서 현재 행보다 작거나 같은 건수에 대한 누적백분율
2. 결과 값은 >= 0과 <= 1의 범위
3. SQL Server에서는 지원하지 않는 함수

N. 그룹 내 비율 함수 - CUME_DIST
N. 그룹 내 비율 함수 - CUME_DIST

 

반응형

O. 그룹 내 비율 함수 - NTILE

1. 파티션별 전체 건수를 ARGUMENT 값으로 N 등분한 결과
2. NTILE(4)의 의미는 14명의 팀원을 4개 조로 나눈다는 의미
3. 나머지가 있다면 앞 등분한 그룹부터 할당

 

O. 그룹 내 비율 함수 - NTILE
O. 그룹 내 비율 함수 - NTILE

 


 

[용어/개념] 서비스 모니터링 - Metric, 수집 방식, Nagios, Zabbix, SLI, SLO, 구글 SRE조직

 

[용어/개념] 서비스 모니터링 - Metric, 수집 방식, Nagios, Zabbix, SLI, SLO, 구글 SRE조직

A. 서비스 모니터링1) 목 적갑자기 발생할 수 있는 문제에 즉각적인 대응이 어려우며, 시스템 장애에 대한 예측 역시 불가능하다. 문제발생을 예방하고 대비하기 위함.시간을 기준으로 측정되는

infoofit.tistory.com

 

[SQLD] 4-5. SQL 활용 - 그룹 함수, ANSI/ISO SQL 표준, ROLLUP, GROUPING, CUBE

 

[SQLD] 4-5. SQL 활용 - 그룹 함수, ANSI/ISO SQL 표준, ROLLUP, GROUPING, CUBE

A. 데이터 분석을 위한 함수 ( ANSI/ISO SQL 표준 ) B. GROUP FUNCTION - ROLLUPGROUP BY의 확장된 형태병렬 수행 가능시간 및 지역처럼 계층적 분류를 포함하고 있는 데이터의 집계에 적합지정된 칼럼목록

infoofit.tistory.com

 

[SQLD] 3-3. SQL 기본 - DML 개념, 종류, 구문

 

[SQLD] 3-3. SQL 기본 - DML 개념, 종류, 구문

DML(Data Manipulation Language) 1) 개념 - 만들어진 테이블에 관리하기를 원하는 자료들을 입력, 수정, 삭제, 조회하는 조작 관련 명령어 2) 종류- INSERT, UPDATE, DELETE, SELECT A. DML : INSERT 1. 테이블에 데이

infoofit.tistory.com

 

반응형