ソースコード
WITH RECURSIVE MRR AS(
    SELECT
         MONTHLY
        ,0 AS MRR
    FROM MRR_DATA
    WHERE
         MONTHLY = (SELECT MIN(MONTHLY) FROM MRR_DATA)
    UNION ALL
    SELECT
        strftime('%Y-%m-%d', DATE(MRR.MONTHLY, '+1 month')) AS MONTHLY
       ,CASE WHEN (SELECT COUNT(*) FROM MRR_DATA WHERE DATE(MONTHLY) = DATE(MRR.MONTHLY)) = 0 THEN 0
             ELSE (MRR.MRR + MRR_DATA.NEW_MRR + MRR_DATA.EXPANSION_MRR - MRR_DATA.DOWNGRADE_MRR - MRR_DATA.CHURN_MRR)
             END AS MRR
    FROM MRR
         LEFT OUTER JOIN MRR_DATA
         ON MRR.MONTHLY = MRR_DATA.MONTHLY
    WHERE
        DATE(MRR.MONTHLY) < (SELECT DATE(MAX(MONTHLY), '+1 month') FROM MRR_DATA)
)
SELECT
     MONTHLY AS YM
    ,MRR     AS MRR
FROM MRR
ORDER BY YM
提出情報
提出日時2023/02/19 00:04:37
コンテスト第5回 SQLコンテスト
問題MRRの集計
受験者jalapeno
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量80 MB
メッセージ
テストケース(通過数/総数)
3/3
状態
メモリ使用量
データパターン1
AC
80 MB
データパターン2
AC
79 MB
データパターン3
AC
79 MB