ホテル内の客室価格ランキングをウィンドウ関数で算出
上級
ウィンドウ関数
ホテル内の客室価格ランキングをウィンドウ関数で算出
ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。
問題文
hotel_roomsとhotelsをJOINし、ホテルごとに客室の1泊料金の高い順でRANK()を付けて表示してください。
結合のヒント
- hotelsテーブル(エイリアス: h)との結合条件: hr.hotel_id = h.id(hotel_rooms.hotel_id = hotels.id)
取得列: h.name AS hotel_name, hr.room_type, hr.price_per_night, RANK() OVER (PARTITION BY hr.hotel_id ORDER BY hr.price_per_night DESC) AS price_rank
この問題で学べること
- ウィンドウ関数 の構文・考え方
- 上級レベルのSQLクエリの書き方
- ブラウザ上でSQLを実行して即座に結果を確認する練習
使用テーブル
hotel_roomshotels難易度・対象者
難易度上級
カテゴリウィンドウ関数
対象者ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。