ソースコード
WITH MonthlySales AS (
    SELECT
        strftime('%Y-%m', SALES_DATE) AS YEAR_MONTH,
        SUM(SALES_AMT) AS MONTH_AMT
    FROM
        SALES
    WHERE
        -- SALES_TYPE != 2 AND -- 売上返品を除外
        UPDATED_NO IS NULL -- 黒伝のみを対象
        -- SALES_DATE BETWEEN '2023-01-01' AND '2023-12-31'
    GROUP BY
        YEAR_MONTH
),
CumulativeSales AS (
    SELECT
        m.YEAR_MONTH,
        m.MONTH_AMT,
        (SELECT SUM(MONTH_AMT) FROM MonthlySales WHERE YEAR_MONTH <= m.YEAR_MONTH) AS CUML_AMT,
        (SELECT SUM(MONTH_AMT) FROM MonthlySales WHERE YEAR_MONTH BETWEEN '2023-01' AND m.YEAR_MONTH) AS CUML_AMT2
    FROM
        MonthlySales m
),
MovingYearTotal AS (
    SELECT
        c.YEAR_MONTH,
        c.MONTH_AMT,
        c.CUML_AMT2,
        (SELECT SUM(MONTH_AMT) FROM MonthlySales WHERE YEAR_MONTH BETWEEN 
            strftime('%Y-%m', date(c.YEAR_MONTH || '-01', '-11 month')) AND c.YEAR_MONTH) AS YEAR_MOVE_AMT
    FROM
        CumulativeSales c
)
SELECT
    YEAR_MONTH,
    MONTH_AMT,
    CUML_AMT2 as CUML_AMT,
    YEAR_MOVE_AMT
FROM
    MovingYearTotal
WHERE YEAR_MONTH BETWEEN '2023-01' AND '2023-12'
ORDER BY
    YEAR_MONTH;
提出情報
提出日時2024/02/19 06:31:54
コンテスト第11回 SQLコンテスト
問題Zチャート
受験者takotaketako
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量86 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
85 MB
データパターン2
AC
86 MB