ホテル別の月次売上と累積売上をCTEで集計
上級
CTE基本
ホテル別の月次売上と累積売上をCTEで集計
ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。
問題文
CTEでcompleted予約をホテル・月ごとに集計し、hotelsとJOINして月ごとの売上と累積売上をSUM() OVERで表示してください。
結合のヒント
- hotel_roomsテーブル(エイリアス: hr)との結合条件: hb.room_id = hr.id(hotel_bookings.room_id = hotel_rooms.id)
- hotelsテーブル(エイリアス: h)との結合条件: mr.hotel_id = h.id(mr.hotel_id = hotels.id)
取得列: hr.hotel_id, SUBSTR(hb.check_in, 1, 7) AS month, SUM(hb.total_amount) AS revenue
この問題で学べること
- CTE基本 の構文・考え方
- 上級レベルのSQLクエリの書き方
- ブラウザ上でSQLを実行して即座に結果を確認する練習
使用テーブル
hotelshotel_roomshotel_bookings難易度・対象者
難易度上級
カテゴリCTE基本
対象者ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。