メインコンテンツへスキップ
ウィンドウ関数の結果をフィルタリングできます。WHERE 句に似ていますが、WHERE はウィンドウ関数の評価前に実行されるのに対し、QUALIFY はその後に実行される点が異なります。 SELECT 句内のウィンドウ関数の結果は、そのエイリアスを使って 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 │
└────────┴─────────────────┘
最終更新日 2026年6月10日