ソースコード
WITH RECURSIVE latest_next_ym AS (SELECT DATE(MAX(MONTHLY), '+1 month') FROM MRR_DATA),
mrr_monthly(YM, MRR) AS (
    SELECT MIN(MONTHLY) YM, 0 MRR FROM MRR_DATA
    UNION ALL
    SELECT
        DATE(YM, '+1 month') YM,
        (
            CASE WHEN EXISTS(SELECT MONTHLY FROM MRR_DATA WHERE MONTHLY = YM)
            THEN MRR + (SELECT NEW_MRR + EXPANSION_MRR  - DOWNGRADE_MRR - CHURN_MRR FROM MRR_DATA WHERE MONTHLY = YM)
            ELSE 0
            END
        ) MRR
    FROM mrr_monthly
    WHERE YM < (SELECT * FROM latest_next_ym)
)
SELECT * FROM mrr_monthly
ORDER BY YM ASC
提出情報
提出日時2023/02/23 17:15:17
コンテスト第5回 SQLコンテスト
問題MRRの集計
受験者toshikish
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量78 MB
メッセージ
テストケース(通過数/総数)
3/3
状態
メモリ使用量
データパターン1
AC
78 MB
データパターン2
AC
78 MB
データパターン3
AC
77 MB