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 │
└────────┴─────────────────┘