ソースコード
WITH SALES_YM AS ( 
    -- 月毎に売上金額を集計
    SELECT
       -- 売上日をYYYY-MMの形式に変換
        STRFTIME('%Y-%m', SALES_DATE) AS YM
        , SUM(SALES_AMT) AS MON_AMT 
    FROM
        SALES 
    WHERE
       -- 過去分の集計金額も必要なため1年前からのデータを集計対象とする
        YM >= '2022-01' 
       -- 黒伝のみを対象とするため、赤黒伝票番号がNULLの条件を記述
        AND UPDATED_NO IS NULL 
    GROUP BY
        YM
) 
, Z_CHART AS ( 
   -- 該当年月から過去11カ月の売上集計金額を取得
    SELECT
        YM AS YEAR_MONTH
        , MON_AMT AS MONTH_AMT
        -- SUM OVERで上記で求めた各月の売上集計金額を取得する
        , SUM(MON_AMT) OVER ( 
            ORDER BY
                -- 年月でソートし11行前までのデータを対象とする
                YM ROWS BETWEEN 11 PRECEDING AND CURRENT ROW
        ) AS YEAR_MOVE_AMT 
    FROM
        SALES_YM
) 
SELECT
    YEAR_MONTH
    , MONTH_AMT
    -- SUM OVERで該当月までの売上累計金額を取得する
    , SUM(MONTH_AMT) OVER (ORDER BY YEAR_MONTH) AS CUML_AMT
    , YEAR_MOVE_AMT 
FROM
    Z_CHART 
WHERE
   -- BETWEENで2023年のデータを絞り込む
    YEAR_MONTH BETWEEN '2023-01' AND '2023-12' 
ORDER BY
    YEAR_MONTH ASC;
 
提出情報
提出日時2024/02/14 14:02:48
コンテスト第11回 SQLコンテスト
問題Zチャート
受験者admin
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量85 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
85 MB
データパターン2
AC
85 MB