Pelajaran 33 / 37 · Window function

Window function melihat baris lain tanpa meringkasnya

Total kumulatif dihitung per pelanggan (PARTITION BY) sesuai urutan tanggal (ORDER BY), dan setiap pesanan tetap punya barisnya sendiri. Bandingkan dengan GROUP BY, yang hanya menyisakan satu baris per pelanggan.

Query-nya

SELECT id, customer_id, order_date, amount,
       sum(amount) OVER (PARTITION BY customer_id ORDER BY order_date) AS running_total
FROM orders
WHERE amount IS NOT NULL

Coba hapus ORDER BY order_date dari window: setiap pesanan lalu mendapat total penuh pelanggannya, bukan total berjalan.

Berikutnya: LAG membaca nilai dari baris sebelumnya · Semua pelajaran