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 9.1] SP lấy TOP N khách hàng giàu nhất

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 9: Stored Procedure & Trigger (cơ bản) — khóa SQL

    Tạo stored procedure sp_TopCustomers nhận một tham số INPUT n (INT) và trả về n khách hàng có tổng tài sản lớn nhất.

    • Tổng tài sản = tổng balance các tài khoản ACTIVE của khách hàng; chỉ xét khách hàng có ít nhất một tài khoản ACTIVE.
    • Cột trả về: customer_id, full_name, total_assets.
    • Sắp xếp: total_assets giảm dần, đồng hạng thì customer_id tăng dần. Chỉ trả đúng n dòng (nếu ít hơn n khách hàng thì trả hết).

    Gợi ý: SQL Server dùng TOP (@n); MySQL dùng LIMIT p_n (trong procedure LIMIT nhận tham số kiểu INT).

    Hệ thống chấm gọi procedure với n = số khách hàng có status = 'NEW' (lấy từ dữ liệu).

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

      Bảng Customers, Accounts.

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

      customer_id, full_name, total_assets (TAB), sắp theo total_assets giảm dần rồi customer_id tăng dần.

    Ví dụ:

    Đầu vào:

    Đầu ra:

    17	Mai Van Vinh	12067000000.00
    40	Ngan Hang Ban Le Sai Gon	9500000000.00
    2	Tran Thi Binh	8640000000.00
    34	Quy Dau tu Bao Viet	4690000000.00

    Giải thích:

    Có 4 khách hàng NEW nên n = 4: procedure trả 4 khách hàng giàu nhất.

    Chủ đề

    📊 SQLSQLSQL: Buổi 9 – Stored Procedure & TriggerTất cả môn học

    Đang tải editor...