問題 #167上級ウィンドウ関数
部署内での給与順位をつける
salaries・employees・departmentsを結合し、部署内でのbase_salary降順のRANK()を付けてください。 結合のヒント: - employeesテーブル(エイリアス: e)との結合条件: s.employee_id = e.id(salaries.employee_id = employees.id) - departmentsテーブル(エイリアス: d)との結合条件: e.department_id = d.id(employees.department_id = departments.id) 取得列: d.name AS dept, e.name AS emp_name, s.base_salary, RANK() OVER (PARTITION BY e.department_id ORDER BY s.base_salary DESC) AS dept_rank
この問題で学べること
- ウィンドウ関数 の構文・考え方
- 上級レベルの SQL クエリの書き方
- ブラウザ上で SQL を実行して即座に結果を確認する練習
使用テーブル
departmentsemployeessalaries難易度・対象者
- 難易度
- 上級
- カテゴリ
- ウィンドウ関数
- 対象者
- ウィンドウ関数や CTE など応用構文を学びたい方、複雑な集計に挑戦したい方