Menu
CoddyTech

累計

CoddyのSQLジャーニー「応用」セクションの一部。レッスン 25/27。

累積合計とは、ORDER BYを指定したウィンドウ内でのSUMです。これにより、集計値が行ごとに増えていきます。

SELECT day, amount,
       SUM(amount) OVER (ORDER BY day) AS running_total
FROM revenue

ORDER BYがない場合、ウィンドウはすべての行を対象とするため、各行に総合計が表示されます。指定すると、その順序でウィンドウが1行ずつ広がるため、各行には自分自身とそれより前のすべての行だけが含まれます。

グループごとに累計をリセットするには、PARTITION BYを追加します。たとえば、地域ごとの収益の累計を日ごとに計算します。

challenge icon

チャレンジ

簡単

利用可能なテーブルと列:

  • revenue: region, day, amount

region、day、amount、およびregion_running_totalを返します。これは、この日まで(この日を含む)のその地域のamountの累計です。累計は地域ごとにリセットしてください。

ウィンドウにPARTITION BYを使用します。region、次にdayの順に並べます。

自分で試してみよう

SELECT region, day, amount,
       -- ここに region_running_total 列を追加する
FROM revenue
ORDER BY region, day
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

応用のすべてのレッスン

自分で練習してみよう: SQLプレイグラウンド