ソースコード
-- 各月のMRRを計算する
WITH RECURSIVE monthly_mrr AS (
  -- 最も古い月のデータを取得する
  SELECT
    MIN(MONTHLY) AS YM,  -- 年月
    NEW_MRR,            -- 新規MRR
    EXPANSION_MRR,      -- 拡大MRR
    DOWNGRADE_MRR,      -- 減少MRR
    CHURN_MRR,          -- 解約MRR
    NEW_MRR + EXPANSION_MRR - DOWNGRADE_MRR - CHURN_MRR AS MRR  -- MRRを計算する
  FROM MRR_DATA
  WHERE MONTHLY = (SELECT MIN(MONTHLY) FROM MRR_DATA)

  UNION ALL

  -- 2番目以降の月のデータを取得する
  SELECT
    MRR_DATA.MONTHLY AS YM,                                -- 年月
    MRR_DATA.NEW_MRR,                                      -- 新規MRR
    MRR_DATA.EXPANSION_MRR,                                -- 拡大MRR
    MRR_DATA.DOWNGRADE_MRR,                                -- 減少MRR
    MRR_DATA.CHURN_MRR,                                    -- 解約MRR
    monthly_mrr.MRR + MRR_DATA.NEW_MRR + MRR_DATA.EXPANSION_MRR - MRR_DATA.DOWNGRADE_MRR - MRR_DATA.CHURN_MRR AS MRR  -- MRRを計算する
  FROM MRR_DATA
  JOIN monthly_mrr ON MRR_DATA.MONTHLY = DATE(monthly_mrr.YM, '+1 month')
)
-- 各月のMRRを出力する
SELECT YM, MRR
FROM monthly_mrr;
提出情報
提出日時2023/02/20 07:21:23
コンテスト第5回 SQLコンテスト
問題MRRの集計
受験者19981102
状態 (詳細)WA
(Wrong Answer: 誤答)
メモリ使用量80 MB
メッセージ
テストケース(通過数/総数)
0/3
状態
メモリ使用量
データパターン1
WA
80 MB
データパターン2
WA
80 MB
データパターン3
WA
79 MB