こんにちは
SQLで累積を取得する方法を紹介します。
商品ごとに毎月の売上高の累積を求めます。
コーディング例①
SELECT
商品
, FORMAT(売上年月, 'yyyy年MM月') AS 売上年月
, 売上高
,SUM(売上高) OVER (PARTITION BY 商品 ORDER BY 売上年月 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS 売上累積
FROM
商品別月間売上
GROUP BY
商品
, 売上年月
, 売上高
実行結果①
コーディング例②
SELECT
A.商品
, FORMAT(A.売上年月, 'yyyy年MM月') AS 売上年月
, A.売上高
, SUM(B.売上高) AS 売上累積
FROM
商品別月間売上 A
INNER JOIN 商品別月間売上 B
ON A.商品 = B.商品 AND A.売上年月 >= B.売上年月
GROUP BY A.商品, A.売上年月, A.売上高
ORDER BY A.商品, A.売上年月