Skip to main content
Edit this page

QUALIFY句

ウィンドウ関数の結果をフィルタリングすることができます。これはWHERE句に似ていますが、違いはWHEREがウィンドウ関数を評価する前に実行されるのに対し、QUALIFYはそれが評価された後に実行される点です。

SELECT句でエイリアスを使用して、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 │
└────────┴─────────────────┘