Oracle の KEEP ありとなしの PARTITION BY
Oracle の PARTITION BY 句を使用すると、テーブル内の行をグループ化し、集計関数を実行できます。それらのグループについて。 KEEP 句を PARTITION BY 句と併用すると、集計関数の計算時にどの行を保持するかを指定できます。
次の 2 つのクエリについて考えてみましょう。
どちらのクエリも次のようになります。同じ結果が得られるように、各部門の最低給与と最高給与を計算します。ただし、2 つのクエリには微妙な違いがあります。
最初のクエリでは、MIN 関数と MAX 関数が各パーティション内のすべての行に適用されます。 2 番目のクエリでは、KEEP 句を使用して、各パーティションの最初と最後の行のみを計算に含めるよう指定します。
KEEP 句は、任意の集計関数で使用できます。これは、一連の行内で最初または最後に出現する値を検索する場合に特に便利です。
たとえば、次のクエリは、各部門で最も給与が高い従業員の姓名を検索します。 :
KEEP 句を使用してパフォーマンスを最適化することもできます。各パーティションの最初または最後の行のみを計算に含めるよう指定すると、データベースが処理する必要があるデータの量を減らすことができます。これにより、特に大規模なデータセットを操作している場合、クエリのパフォーマンスが向上します。
以上が「KEEP」句はOracle集計関数の「PARTITION BY」にどのような影響を与えますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。