QUALIFY 절

QUALIFY 절

QUALIFY 절은 윈도우 함수(windown function) 결과를 필터링할 수 있게 해줘요. WHERE 절과 비슷하지만, WHERE는 윈도우 함수 평가 전에 수행되고 QUALIFY는 평가 후에 수행된다는 차이가 있어요. QUALIFY 절에서는 SELECT 절의 윈도우 함수 결과를 별칭으로 참조할 수 있고, 쿼리 결과에는 포함되지 않는 추가 윈도우 함수 결과로 필터링할 수도 있어요.

출처: 문서

본문

QUALIFY는 윈도우 함수 결과를 필터링할 수 있게 해줘요. WHERE 절과 비슷하지만, WHERE는 윈도우 함수 평가 전에 수행되고 QUALIFY는 평가 후에 수행된다는 점에서 차이가 있어요. QUALIFY 절에서는 SELECT 절의 윈도우 함수 결과를 별칭으로 참조할 수 있어요. 또는 쿼리 결과에 반환되지 않는 추가 윈도우 함수의 결과로 필터링할 수도 있어요.

Limitations (제한 사항)

평가할 윈도우 함수가 없다면 QUALIFY를 사용할 수 없어요. 이때는 WHERE를 사용해야 해요.

Examples (예제)

예시:

SELECT number, COUNT() OVER (PARTITION BY number % 3) AS partition_count
FROM numbers(10)
QUALIFY partition_count = 4
ORDER BY number;
┌─number─┬─partition_count─┐
│      0 │               4 │
│      3 │               4 │
│      6 │               4 │
│      9 │               4 │
└────────┴─────────────────┘

더 알아보기 (Learn more)