Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution
    Đăng nhập
    Đăng nhập

    Đề bài: [SQL 5.2] Báo cáo phân tầng khách hàng bằng CTE nhiều bước

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 5: CTE, TEMP TABLE và Subquery (truy vấn con) — khóa SQL

    Xây dựng báo cáo phân tích từng bước bằng CTE (WITH):

    1. Tổng tài sản: với mỗi khách hàng, tổng balance của các tài khoản có status = 'ACTIVE' (khách hàng không có tài khoản ACTIVE thì không xuất hiện).
    2. Giá trị trung bình: trung bình avg_total của tổng tài sản ở bước 1 (trên tất cả khách hàng có mặt ở bước 1).
    3. Phân loại: tier = 'CAO' nếu total >= 2 * avg_total; 'TRUNG_BINH' nếu total >= avg_total (và chưa là CAO); ngược lại 'THAP'.
    4. Lọc nhóm mục tiêu: chỉ giữ khách hàng thuộc nhóm 'CAO'.

    Xuất customer_id, total_assets, avg_assets (trung bình làm tròn 2 chữ số thập phân), tier; sắp xếp total_assets giảm dần, đồng hạng theo customer_id.

    • Định dạng đầu vào:

      Accounts(customer_id, balance, status).

    • Định dạng đầu ra:

      customer_id, total_assets, avg_assets, tier (TAB), sắp xếp total_assets giảm dần, customer_id tăng dần.

    Ví dụ:

    Đầu vào:

    Đầu ra:

    17	12067000000.00	1826628571.43	CAO
    40	9500000000.00	1826628571.43	CAO
    2	8640000000.00	1826628571.43	CAO
    34	4690000000.00	1826628571.43	CAO
    38	4661000000.00	1826628571.43	CAO
    32	4345000000.00	1826628571.43	CAO

    Giải thích:

    Trung bình tổng tài sản ACTIVE là khoảng 1,83 tỷ; ngưỡng CAO là gấp đôi (khoảng 3,65 tỷ).

    Chủ đề

    📊 SQLSQLSQL: Buổi 5 – Subquery, CTE & TEMP TABLETất cả môn học

    Đang tải editor...