[SQL] Group By VS Window 함수딥상어동의 딥한 SQL/LV2.중급쿼리2021. 6. 27. 17:39
Table of Contents
http://www.yes24.com/Product/Goods/24089836?OzSrank=1
본 도서를 참조하여 작성했습니다.
01. Group By 의 작동 원리
/*
지역 판매량
부산 3
부산 2
인천 5
인천 3
서울 7
서울 9
*/
SELECT 지역, SUM(판매량) as 판매량
FROM [판매]
GROUP BY 지역
/*
지역 판매량
부산 5
인천 8
서울 16
*/
위 예시를 살펴보자. 쿼리에 따른 입력 / 출력 결과물의 "가장 큰 차이"는 무엇인가? 바로 "행 수" 가 줄어들었다는 것이다. 즉, GROUP BY를 사용하면 그룹에 따라 행을 집약하여 결과를 도출한다.
02. 윈도우 함수의 작동 원리
/*
지역 판매량
부산 3
부산 2
인천 5
인천 3
서울 7
서울 9
*/
SELECT 지역, SUM(판매량) over (partition by 지역) 판매량_윈도우
FROM [판매]
/*
지역 판매량_윈도우
부산 5
부산 5
인천 8
인천 8
서울 16
서울 16
*/
반면, 윈도우 함수를 사용하면 그룹 구분을 하기는 하지만, "집약 한 결과"를 보여주지는 않는다. 즉, GROUP BY와 윈도우 함수의 가장 큰 차이는 행의 수에 있다고 할 수 있다.
'딥상어동의 딥한 SQL > LV2.중급쿼리' 카테고리의 다른 글
[MSSQL] 이전 값으로 NULL 값 대체하기 (2) | 2021.08.31 |
---|---|
[SQL] CASE WHEN이 가진 의의 (0) | 2021.06.27 |
[SQL] SubQuery가 가진 의의 (0) | 2021.06.27 |
[SQL] 언어가 가진 철학 (0) | 2021.06.27 |
[SQL] Nested Loop Join (0) | 2021.06.27 |
@딥상어동의 딥한생각 :: 딥상어동의 딥한생각
제 블로그에 와주셔서 감사합니다! 다들 오늘 하루도 좋은 일 있으시길~~
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!