私たちのチームは AI チャットボットサービスを運営しています。ユーザーが会話を 始めるたびに chats テーブルに 1 行が追加されます(誰が、いつ始めたか)。サービスは 多くの国で使われているため、時刻(started_at)は UTC 基準で保存されています。 運営チームが毎朝見る「日別チャット数」レポートを作る SELECT 文を 1 つ書いて ください。運営チームは韓国で働いているので、レポートの日付は韓国時間 (Asia/Seoul)基準です。結果は 2 つのカラムで出します: - report_date : 日付(韓国時間基準) - chat_count : その日付に始まった会話の数 solution.sql にクエリを書き、「テスト実行」を押すと実際のデータベースで実行され、 結果の表が表示されます。
PostgreSQL で AI チャットボットサービスの「日別チャット数」レポートを作る SELECT 文を書く問題です。会話記録のテーブルがデータとともに用意されており、 「テスト実行」を押すと書いたクエリが本物のデータベースで実行され、結果の表が 表示されます。結果は 2 列で、1 列は日付、もう 1 列はその日付に始まった会話の 数です。
この問題は「同じ瞬間でも、どの基準で見るかによって属する日付が変わる」を 扱います。時刻を世界共通の基準(UTC)で保存するサービスで日別集計をすると、 日中のデータだけ見れば正しく見えても、深夜 0 時前後のデータで答えが変わり ます。こうしたクエリを信じる前に、ありふれた日中のデータを数行眺めるだけで なく、日付が切り替わる境目のデータが意図した日付にまとまるか、実際に動かして 自分の目で確かめる必要があります。