OracleでのOVER関数の使い方

OVER関数は、分析関数の一種であり、集計関数をより高度に利用するために使用されます。OVER関数は、グループ内の行や範囲集約の結果に対して計算を実行するために使用されます。以下に、OracleでのOVER関数の使い方の例を示します。

例1: 分析関数としてのOVER関数を使用して、全体の平均に対する各部門の平均額を計算する。

SELECT
deptno,
AVG(sal) OVER() AS "Overall Avg", --全体の平均
AVG(sal) OVER(PARTITION BY deptno) AS "Dept Avg" --各部門の平均
FROM
emp;

例2: 分析関数としてのOVER関数を使用して、各部門の最高給与者の情報を取得する。

SELECT
empno,
ename,
sal,
deptno
FROM
(SELECT
empno,
ename,
sal,
deptno,
ROW_NUMBER() OVER(PARTITION BY deptno ORDER BY sal DESC) AS RN --部門ごとに給与が高い順に並び替え、ランク付け
FROM
emp)
WHERE
RN = 1; --各部門の最高給与者の情報を取得するために条件を指定

以上の例は、OracleでのOVER関数の使用方法を示しています。OVER関数を使用することで、複雑なクエリを簡単に書くことができます。

コメント

タイトルとURLをコピーしました