Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- early stopping
- 편향-분산 교환
- AWS
- merge
- leetcode
- programmers
- branch
- CSS
- L1정규화
- coding
- RLIKE
- 온라인협업
- 버전충돌
- PYTHON
- mysql
- HTML
- 클라우드컴퓨팅
- 코딩공부
- elastic net
- 교차 엔트로피
- window function
- conflict
- 선형 모형
- 깃헙협업
- sql
- hackerrank
- L2정규화
- github
- full request
- Git
Archives
- Today
- Total
Im between cherry
SQL | 윈도우함수(window function)란 무엇인가? 본문
윈도우 함수란
- 행과 행 간의 관계를 정의하기 위해
- 순위, 합계, 평균, 행 위치 등을 조작하기 위해
- GROUP BY 구문과 병행하여 사용하지 않을 때
사용된다.
윈도우 함수 구조
SELCECT WINDOW_FUNCTION(ARGUMENTS)
OVER (PARTITION BY 칼럼
ORDER BY WINDOWING절)
FROM 테이블명;
-> ARGUMENTS: 윈도우 함수에 따라 0~N개의 인수를 설정한다.
-> PARTITION BY: 전체 집합을 기준에 의해 소그룹으로 나눈다.
-> ORDER BY: 어떤 항목에 대해서 정렬하다.
-> WINDOWING: 행 기준 범위를 정한다. ROWS는 물리적 결과의 행 수이고, RANGE는 논리적인 값에 의한 범위이다.
- SUM, MAX, MIN과 같은 집계 윈도우 함수를 사용할 때 윈도우 절과 함께 사용하면 집계 대상이 되는 레코드 범위를 지정할 수 있다.
- WINDOW 함수의 PARTITION구문과 GROUP BY 구문은 둘 다 파티션을 분할한다는 의미에서 유사하다.
- 윈도우 함수로 인해 결과 건수가 줄어들지는 않는다.
순위 함수(Rank Function)
- RANK: 동일한 순위는 동일한 값 부여 ex) 1, 2, 2, 4, 5, 6, ..
- DENSE_RANK: 동일한 순위를 하나의 건수로 계산 ex) 1, 2, 2, 3, 4, 5, 6, ..
- ROW_NUMBER: 동일한 순위에 대해서 고유의 순위를 부여 ex) 1, 2, 3, 4, 5 ..
집계 함수(Aggregate Function)
- Sum: 파티션 별로 합계
- Avg: 평균
- Count: 행 수
- Max와 Min: 최댓값, 최솟값
'데이터분석 > SQL' 카테고리의 다른 글
[MySQL] table pivot을 하며 깨달은 CASE()과 GROUP BY()의 속성 (0) | 2020.11.14 |
---|---|
[MySQL] DATE_ADD()/DATE_SUB() 함수, INTERVAL (0) | 2020.11.07 |
MySQL | Subquery (0) | 2020.10.08 |
MySQL | ROW_NUMBER(), RANK(), DENSE_RANK() 윈도우 함수 (0) | 2020.08.30 |
MySQL | LEAD, LAG 윈도우 함수 (0) | 2020.08.30 |
Comments