ソースコード
with recursive cte as (
  select
    MONTHLY as YM,
    date(MONTHLY, '+1 months') as next_ym,
    0 as MRR,
    NEW_MRR,
    EXPANSION_MRR,
    DOWNGRADE_MRR,
    CHURN_MRR
  from MRR_DATA
  where MONTHLY = (select min(MONTHLY) from MRR_DATA)
  union all
  select
    cte.next_ym,
    date(MONTHLY, '+1 months'),
    cte.MRR + cte.NEW_MRR + cte.EXPANSION_MRR - cte.DOWNGRADE_MRR - cte.CHURN_MRR AS MRR,
    MRR_DATA.NEW_MRR,
    MRR_DATA.EXPANSION_MRR,
    MRR_DATA.DOWNGRADE_MRR,
    MRR_DATA.CHURN_MRR
  from cte left join MRR_DATA on MONTHLY = cte.next_ym
  where cte.next_ym is not null
)
select YM, MRR from cte
提出情報
提出日時2023/04/15 03:16:04
コンテスト第5回 SQLコンテスト
問題MRRの集計
受験者ngyuki
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量76 MB
メッセージ
テストケース(通過数/総数)
3/3
状態
メモリ使用量
データパターン1
AC
76 MB
データパターン2
AC
76 MB
データパターン3
AC
75 MB