Data Analytics

SQL - Window Functions

ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD, NTILE, SUM OVER, PARTITION BY, frames

20 면접 질문·
Mid-Level
1

SQL에서 window function이란 무엇입니까?

답변

window function은 현재 행과 관련된 행 집합에 대해 계산을 수행하며, 결과를 단일 출력 행으로 축소하지 않습니다. 행 수를 줄이는 GROUP BY와 달리, window function은 계산된 열을 추가하면서 결과의 모든 행을 보존합니다. OVER() 절은 계산이 수행되는 윈도우를 정의합니다.

2

window function을 정의하기 위해 필수인 절은 무엇입니까?

답변

OVER() 절은 모든 window function에 필수입니다. 이는 SQL 엔진에 함수가 일반 집계 함수가 아닌 window function으로 실행되어야 함을 알려줍니다. OVER()는 PARTITION BY, ORDER BY 및 frame 지정을 포함할 수 있지만, 전체 결과 집합에 계산을 적용하기 위해 비워둘 수도 있습니다.

3

window function에서 PARTITION BY의 역할은 무엇입니까?

답변

PARTITION BY는 행 집합을 독립적인 그룹(파티션)으로 나누고, window function은 각 파티션에 개별적으로 적용됩니다. GROUP BY와 달리 PARTITION BY는 결과의 행 수를 줄이지 않습니다. 예를 들어, SUM(sales) OVER(PARTITION BY region)은 각 개별 행을 보존하면서 지역별 총 매출을 계산합니다.

4

GROUP BY와 PARTITION BY의 주요 차이점은 무엇입니까?

5

ROW_NUMBER() OVER(ORDER BY salary DESC)는 무엇을 반환합니까?

+17 면접 질문

다음 면접을 위해 Data Analytics을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기