進捗と評価を突き合わせる
上級
JOIN + 集計
進捗と評価を突き合わせる
ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。
問題文
顧客体験の兆候を探るため、講座ごとの平均進捗率と平均評価を並べて確認してください。
使用テーブルと主な列
- coursesテーブル: コースID(id)、コース名(title)、カテゴリ(category)、レベル(level)
- enrollmentsテーブル: 受講ID(id)、ユーザーID(user_id)、コースID(course_id)、受講日時(enrolled_at)、進捗率(progress)
- feedbackテーブル: フィードバックID(id)、コースID(course_id)、ユーザーID(user_id)、評価(rating)、コメント(comment)、作成日時(created_at)
結合のヒント
- progress_summaryテーブル(エイリアス: ps)との結合条件: c.id = ps.course_id LEFT(c.id = progress_summary.course_id LEFT)
- feedback_summaryテーブル(エイリアス: fs)との結合条件: c.id = fs.course_id(c.id = feedback_summary.course_id)
取得列: course_id, AVG(progress) AS average_progress
この問題で学べること
- JOIN + 集計 の構文・考え方
- 上級レベルのSQLクエリの書き方
- ブラウザ上でSQLを実行して即座に結果を確認する練習
使用テーブル
coursesenrollmentsfeedback難易度・対象者
難易度上級
カテゴリJOIN + 集計
対象者ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。