Skip to main content

QUALIFY Clause

Allows filtering window functions results. It is similar to the WHERE clause, but the difference is that WHERE is performed before window functions evaluation, while QUALIFY is performed after it.

It is possible to reference window functions results from SELECT clause in QUALIFY clause by their alias. Alternatively, QUALIFY clause can filter on results of additional window functions that are not returned in query results.

Limitations

QUALIFY can’t be used if there are no window functions to evaluate. Use WHERE instead.

Examples

Example:

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