윈도우 함수 결과를 필터링할 수 있습니다. WHERE 절과 비슷하지만, WHERE는 윈도우 함수가 평가되기 전에 적용되고 QUALIFY는 그 후에 적용된다는 차이가 있습니다.
SELECT 절의 윈도우 함수 결과는 별칭(alias)으로 QUALIFY 절에서 참조할 수 있습니다. 또한 QUALIFY 절에서는 쿼리 결과에 반환되지 않는 추가 윈도우 함수의 결과를 기준으로 필터링할 수도 있습니다.
제한 사항
평가할 윈도우 함수가 없을 때는 QUALIFY를 사용할 수 없습니다. 대신 WHERE를 사용하십시오.
예시
예시:
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 │
└────────┴─────────────────┘