問題 #134上級ウィンドウ関数
講座カテゴリ別の累積進捗
coursesとenrollmentsを使い、カテゴリごとの累積progressを日付順で集計してください(ウィンドウ関数使用)。 使用テーブルと主な列: - enrollmentsテーブル: 受講ID(id)、ユーザーID(user_id)、コースID(course_id)、受講日時(enrolled_at)、進捗率(progress) - coursesテーブル: コースID(id)、コース名(title)、カテゴリ(category)、レベル(level) 結合のヒント: - coursesテーブル(エイリアス: c)との結合条件: e.course_id = c.id(enrollments.course_id = courses.id) 取得列: c.category, e.enrolled_at, SUM(e.progress) OVER (PARTITION BY c.category ORDER BY e.enrolled_at ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS cumulative_progress
この問題で学べること
- ウィンドウ関数 の構文・考え方
- 上級レベルの SQL クエリの書き方
- ブラウザ上で SQL を実行して即座に結果を確認する練習
使用テーブル
enrollmentscourses難易度・対象者
- 難易度
- 上級
- カテゴリ
- ウィンドウ関数
- 対象者
- ウィンドウ関数や CTE など応用構文を学びたい方、複雑な集計に挑戦したい方