レストラン内のメニュー価格ランキングをウィンドウ関数で算出
上級
ウィンドウ関数
レストラン内のメニュー価格ランキングをウィンドウ関数で算出
ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。
問題文
menu_itemsとrestaurantsをJOINし、提供中メニューについてレストランごとに価格の高い順でRANK()を付けてください。
結合のヒント
- restaurantsテーブル(エイリアス: r)との結合条件: mi.restaurant_id = r.id(menu_items.restaurant_id = restaurants.id)
取得列: r.name AS restaurant_name, mi.item_name, mi.price, RANK() OVER (PARTITION BY mi.restaurant_id ORDER BY mi.price DESC) AS price_rank
この問題で学べること
- ウィンドウ関数 の構文・考え方
- 上級レベルのSQLクエリの書き方
- ブラウザ上でSQLを実行して即座に結果を確認する練習
使用テーブル
menu_itemsrestaurants難易度・対象者
難易度上級
カテゴリウィンドウ関数
対象者ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。