問題一覧に戻る
上級関数
問題67: PARTITION BY - ウィンドウの分割

ウィンドウ関数でデータをグループごとに分割する方法を学習します。部門別ランキング、カテゴリ別累計、グループ内での相対位置の計算などに使用されます。

-- カテゴリ別の平均価格を計算
SELECT
category,
product_name,
price,
-- カテゴリごとの平均
AVG(price) OVER ( category) AS category_avg
FROM products;

-- 部門別の給与ランキング
SELECT
department,
employee_name,
salary,
-- 部門内でのランク
RANK() OVER ( department ORDER BY salary DESC) AS dept_rank
FROM employees;