リスク会員を洗い出す

上級
サブクエリ

リスク会員を洗い出す

ウィンドウ関数やサブクエリなど、複雑なSQL構文をマスターする上級問題です。

ブラウザ上で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構文をマスターする上級問題です。

関連問題


実際にSQLを書いて理解を深めましょう

ブラウザ上で実行できる採点付きSQLエディタで練習できます

ログインして解く
QSQL Quest