All examples
postgresql

Window Function Running Total

A daily revenue table turned into a running total using SUM() OVER (ORDER BY day). Lineage shows the projected running_total column tracing back to revenue.

The lineage

daily_revenuev_revenue_running
daily_revenue → v_revenue_running with two windowed columns.

The SQL

CREATE TABLE daily_revenue (
  revenue_day DATE,
  revenue NUMERIC(12,2)
);

CREATE VIEW v_revenue_running AS
SELECT
  revenue_day,
  revenue,
  SUM(revenue) OVER (ORDER BY revenue_day ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS running_total,
  AVG(revenue) OVER (ORDER BY revenue_day ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) AS rolling_7d_avg
FROM daily_revenue;

What the lineage shows

  • running_total is sourced from daily_revenue.revenue with an UNBOUNDED PRECEDING frame.
  • rolling_7d_avg uses a 7-row sliding window over the same column.
  • Lineage treats window expressions as derived projections of their input columns.