ソースコード
WITH RECURSIVE cte AS (
  SELECT *
  FROM MRR_DATA
  WHERE MONTHLY = (SELECT MIN(MONTHLY) FROM MRR_DATA)
  UNION ALL
  SELECT m.MONTHLY, m.NEW_MRR, m.EXPANSION_MRR, m.DOWNGRADE_MRR, m.CHURN_MRR
  FROM MRR_DATA m
  JOIN cte ON DATE_TRUNC('month', TO_DATE(m.MONTHLY, 'YYYY-MM-DD')) = DATE_TRUNC('month', TO_DATE(cte.MONTHLY, 'YYYY-MM-DD')) + INTERVAL '1 month'
),
cte2 AS (
  SELECT *, 0 AS MRR
  FROM cte
  WHERE MONTHLY = (SELECT MIN(MONTHLY) FROM MRR_DATA)
  UNION ALL
  SELECT m.MONTHLY, m.NEW_MRR, m.EXPANSION_MRR, m.DOWNGRADE_MRR, m.CHURN_MRR,
         cte2.MRR + cte2.NEW_MRR + cte2.EXPANSION_MRR - cte2.DOWNGRADE_MRR - cte2.CHURN_MRR AS MRR
  FROM MRR_DATA m
  JOIN cte2 ON DATE_TRUNC('month', TO_DATE(m.MONTHLY, 'YYYY-MM-DD')) = DATE_TRUNC('month', TO_DATE(cte2.MONTHLY, 'YYYY-MM-DD')) + INTERVAL '1 month'
)
SELECT TO_CHAR(TO_DATE(MONTHLY, 'YYYY-MM-DD'), 'YYYY-MM-DD') AS YM, MRR
FROM cte2;
提出情報
提出日時2023/02/20 07:37:36
コンテスト第5回 SQLコンテスト
問題MRRの集計
受験者19981102
状態 (詳細)RE
(Runtime Error: 実行時エラー)
メモリ使用量75 MB
メッセージ
SQLITE_ERROR: near "'1 month'": syntax error
テストケース(通過数/総数)
0/3
状態
メモリ使用量
データパターン1
RE
75 MB
データパターン2
RE
75 MB
データパターン3
RE
75 MB