コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
--時系列データの取り扱いまた頑張ってみる
WITH master_table AS
(
SELECT
--まずは最小の年月日を取得
(SELECT MIN(MONTHLY) FROM MRR_DATA) AS YM,
--MRRの初期値は0に設定
0 AS MRR
--再帰的な計算をする
UNION ALL
SELECT
--UNIONする日付はYM + 1
DATE(YM,'+1 month'),
--MRRの計算は与えられた計算式でやるがMONLTHY = YMの値を取る(これで先月分の値が取れる)
MRR + (SELECT NEW_MRR + EXPANSION_MRR - DOWNGRADE_MRR - CHURN_MRR FROM MRR_DATA WHERE MONTHLY = YM)
FROM
master_table
WHERE
--ここのWHERE句でどこまでループするかを決める
YM < DATE((SELECT MAX(MONTHLY) FROM MRR_DATA),'1 month')
)
SELECT
*
FROM
master_table
ORDER BY
YM
提出情報
提出日時 | 2024/02/19 16:16:33 |
コンテスト | 第5回 SQLコンテスト |
問題 | MRRの集計 |
受験者 | romi0416 |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 84 MB |
メッセージ
テストケース(通過数/総数)
3/3
状態
メモリ使用量
データパターン1
AC
84 MB
データパターン2
AC
84 MB
データパターン3
AC
84 MB