AI モデルの呼び出し使用量を記録する ai_calls テーブルがあります。ユーザーがモデルを 一度呼び出すたびに一行が追加され、各行には呼び出したユーザー(user_id)、使ったモデル (model)、使ったトークン数(tokens)、呼び出した時刻(created_at)が入っています。 月間アクティブユーザー数(MAU)を求める SELECT 文を一つ書いてください。ここでいう アクティブユーザーとは、その月にモデルを呼び出したユーザーのことです。結果は二つの 列で出します。 - month : 'YYYY-MM' 形式の月(例: '2026-05') - active_users : その月にモデルを呼び出したアクティブユーザー数 結果は月の昇順で並べ替えてください。solution.sql にクエリを書き、「テスト実行」を 押すと本物のデータベースで動いて結果の表が出ます。
PostgreSQL で AI モデルの呼び出し使用量ログから月間アクティブユーザー数(MAU)を 求める SELECT 文を書く問題です。呼び出しのたびに一行が追加されるログテーブルが データとともに用意されており、「テスト実行」を押すと書いたクエリが本物のデータ ベースで動いて結果の表を見せてくれます。結果は二つの枠で出し、一方は月、もう一方は その月にモデルを使ったユーザー数です。
この問題は「一行が一人ではないとき、何を数えているのか」を扱います。ログのように 一人が何度も残すデータで人数を求めるとき、行をそのまま数えると人数ではなく行数を 数えることになります。こうした集計を信じる前に、数字をそのまま受け取らず、一人が 何度も残した場合にその人が何として数えられるかを実際に動かして目で見るべきです。