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