OracleでのRANK関数の使用方法


以下にRANK関数の使用方法とコード例を示します。

例1: employeesテーブルから給与の高い順に従業員をランキングする

SELECT employee_id, first_name, salary, RANK() OVER (ORDER BY salary DESC) AS rank
FROM employees;

この例では、employeesテーブルから従業員のemployee_id、first_name、salaryの列を取得します。RANK関数を使用してsalary列を降順で並び替え、各従業員にランクを割り当てます。

例2: productsテーブルからカテゴリごとの価格の高い順に商品をランキングする

SELECT product_id, product_name, price, category, RANK() OVER (PARTITION BY category ORDER BY price DESC) AS rank
FROM products;

この例では、productsテーブルから商品のproduct_id、product_name、price、categoryの列を取得します。RANK関数を使用して各カテゴリ内でprice列を降順で並び替え、各商品にランクを割り当てます。

これらの例では、RANK関数がクエリ内でOVER句を使用して指定されています。ORDER BY句を使用して順位を決定する基準の列を指定し、必要に応じてPARTITION BY句を使用して順位をグループ化する列を指定します。

以上がOracleでのRANK関数の使用方法とコード例です。これらの例を参考にして、自身のクエリにRANK関数を活用してみてください。