リスク会員を洗い出す
上級
サブクエリ
リスク会員を洗い出す
ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。
問題文
最後に解約リスクを確認します。アクティブ会員のうち、直近支払日が2024-01-31以前のユーザーを取得してください。
使用テーブルと主な列
- subscriptionsテーブル: サブスクリプションID(id)、ユーザーID(user_id)、プラン(plan)、ステータス(status)、開始日(started_at)、終了日(ended_at)
- paymentsテーブル: 支払いID(id)、ユーザーID(user_id)、金額(amount)、支払い方法(method)、支払日時(paid_at)
結合のヒント
- paymentsテーブル(エイリアス: p)との結合条件: s.user_id = p.user_id(subscriptions.user_id = payments.user_id)
取得列: s.user_id, MAX(p.paid_at) AS last_paid_at
この問題で学べること
- サブクエリ の構文・考え方
- 上級レベルのSQLクエリの書き方
- ブラウザ上でSQLを実行して即座に結果を確認する練習
使用テーブル
subscriptionspayments難易度・対象者
難易度上級
カテゴリサブクエリ
対象者ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。