or
이 연습은 강의의 일부입니다
Snowflake의 window 함수로 가능성의 창을 열어 보세요! 먼저 window 함수와 전통적인 함수의 차이를 구분하면서 시작해요. 그다음 쿼리의 각 레코드에 행 번호와 순위를 부여하는 방법을 배웁니다. 기본을 익힌 후에는 PARTITION BY를 사용해 window 함수에 ‘창’을 더해 볼 거예요. 특정 window의 첫 번째 값과 마지막 값을 찾고 활용하는 방법을 살펴본 뒤, 집계 함수에 대한 미리 보기로 마무리합니다.
이제 한 단계 더 나아가 볼까요? 이 장에서는 ranking 함수를 심화해서 배웁니다. 먼저 RANK의 변형인 DENSE_RANK로 시작하는데, 동점을 처리하는 방식이 조금 달라요. 이어서 NTH_VALUE를 사용해 이전 레슨에서 본 함수들의 더 강력한 버전을 탐구합니다. 다음으로 NTILE로 데이터를 “버킷”으로 나누는데, 생각보다 훨씬 유용합니다. 또한 CUME_DIST라는 깔끔한 도구를 익혀 특정 window에서 어떤 레코드 이하(또는 이하와 같은)인 레코드의 개수를 파악합니다. 마지막에는 지금까지 본 window 함수 중 가장 강력한 활용 중 하나인 LAG와 LEAD로 장을 마무리합니다.
현재 연습
마지막 장은 AVG, COUNT, SUM 같은 집계 함수로 시작합니다. 이러한 함수의 결과를 window 내 개별 레코드와 비교하고, 추가 계산에도 활용해 볼 거예요. 그다음 window 함수의 가장 흥미로운 적용인 러닝 및 이동 계산을 마스터합니다! 전기차 충전과 관련된 다양한 지표에 대해 누적 평균과 누적 합계를 계산해 보고, 끝으로 슬라이딩 window를 사용해 이동 합계와 이동 평균을 생성하며 강의를 마무리합니다!