advanced
Tối ưu hóa truy vấn SQL với Window Functions
Giải quyết bài toán phân tích dữ liệu phức tạp sử dụng các hàm cửa sổ (Window Functions) thay vì các truy vấn con lồng nhau.
📝 Nội dung Prompt
Giả sử có một bảng cơ sở dữ liệu 'sales' chứa các cột: sale_id, product_id, sale_date, amount, and region. Yêu cầu: Viết một truy vấn SQL duy nhất để hiển thị tổng doanh thu (running total) của từng sản phẩm theo thời gian, đồng thời so sánh doanh thu của tháng hiện tại với trung bình doanh thu động (moving average) của 3 tháng trước đó. Sử dụng Window Functions (như SUM, AVG, OVER, PARTITION BY, ROWS BETWEEN) để giải quyết vấn đề này một cách tối ưu nhất mà không sử dụng các subquery phức tạp.