Giáo trình tự học miễn phí · Dịch vụ hỗ trợ theo nhu cầu.
Bài 0335phút ước tínhCơ bản đến Chuyên sâu
3. Window Functions, CTEs (Common Table Expressions) & Phân Tích Dữ Liệu Nâng Cao
Sử dụng các công cụ phân tích SQL mạnh mẽ nhất: ROW_NUMBER(), RANK(), LEAD(), LAG(), Running Total và đệ quy WITH RECURSIVE.
📈 Các Window Functions Thông Dụng Nhất
ROW_NUMBER() OVER (PARTITION BY ... ORDER BY ...): Đánh số thứ tự trong từng nhóm.LAG() / LEAD(): Lấy giá trị của dòng trước đó hoặc dòng tiếp theo (so sánh doanh số tháng này vs tháng trước).SUM() OVER (ORDER BY ...): Tính doanh thu lũy kế dồn tích (Running Total).
-- TÍNH DOANH SỐ LŨY KẾ VÀ TỶ LỆ TĂNG TRƯỞNG THEO THÁNG BẰNG CTE & WINDOW FUNCTIONS
WITH monthly_revenue AS (
SELECT
DATE_TRUNC('month', order_date) AS order_month,
SUM(total_amount) AS revenue
FROM orders
WHERE status = 'paid'
GROUP BY DATE_TRUNC('month', order_date)
)
SELECT
TO_CHAR(order_month, 'YYYY-MM') AS month,
revenue,
SUM(revenue) OVER (ORDER BY order_month) AS running_total,
LAG(revenue, 1) OVER (ORDER BY order_month) AS prev_month_revenue,
ROUND(((revenue - LAG(revenue, 1) OVER (ORDER BY order_month)) /
NULLIF(LAG(revenue, 1) OVER (ORDER BY order_month), 0) * 100), 2) AS growth_percentage
FROM monthly_revenue
ORDER BY order_month;
Thực hành
Thực hành và tự đánh giá
Viết câu lệnh SQL xếp hạng Top 3 đơn hàng có giá trị cao nhất của TỪNG khách hàng.
🏢 BẠN MUỐN TRIỂN KHAI CHO CẢ PHÒNG BAN / DOANH NGHIỆP?
Đề Xuất Công Ty Tài Trợ & Đào Tạo In-House Trọn Gói
AI Tinh Gọn hỗ trợ khảo sát hiện trạng, kèm 1-1 on-premise bảo mật dữ liệu, setup hạ tầng riêng và xuất hóa đơn VAT hợp pháp cho doanh nghiệp.
⚖️ Bản quyền sở hữu trí tuệ: © 2026 AI Tinh Gọn (aitinhgon.vn) · Giấy phép Creative Commons CC BY-NC-ND 4.0. Cho phép tự học cá nhân, nghiêm cấm thương mại hóa hoặc bán lại.
Giáo trình mở →
Tiến độ tự học lưu trên trình duyệt này. Chỉ đánh dấu khi đã kiểm tra sản phẩm thực hành.