Window function · PARTITION BY · ORDER BY · frame

Mỗi dòng nhìn qua một cửa sổ của riêng nó

Partition và khung (frame) của window function Các đơn của khách 1 và khách 2 được chia thành hai partition; với dòng hiện tại là đơn 13, khung từ đầu partition tới dòng hiện tại cho lũy kế 10810000, khung 1 PRECEDING cho 10111000, và lũy kế bắt đầu lại ở partition mới. KẾT QUẢ VẪN ĐỦ 9 DÒNG · MỖI DÒNG CÓ CỬA SỔ RIÊNG order_id ngay tong_tien luy_ke PARTITION · customer_id = 1 1 2025-01-12 699000 699000 4 2025-02-14 7881000 8580000 13 2025-07-08 2230000 10810000 25 2025-12-24 24980000 35790000 37 2026-09-02 9640000 45430000 PARTITION · customer_id = 2 2 2025-01-20 26990000 26990000 8 2025-04-22 20140000 47130000 22 2025-11-11 9492500 56622500 34 2026-06-15 1640000 58262500 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW khung = từ dòng đầu partition tới dòng hiện tại SUM = 699000 + 7881000 + 2230000 = 10810000 ROWS BETWEEN 1 PRECEDING AND CURRENT ROW SUM = 7881000 + 2230000 = 10111000 Sang partition mới, lũy kế bắt đầu lại: đơn 2 chỉ thấy chính nó, luy_ke = 26990000 BA PHẦN TRONG OVER (…) · ĐỌC THEO THỨ TỰ 1 PARTITION BY customer_id chia dòng thành từng nhóm 2 ORDER BY ngay xếp thứ tự trong mỗi nhóm 3 ROWS BETWEEN … chọn khung cho từng dòng © tiennhm