Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [SQL Server] Đếm khách hàng riêng biệt theo chi nhánh

    Ngân hàng NEUBank ghi nhận giao dịch tại quầy trong bảng giaodich:

    Cột Kiểu Ý nghĩa
    ma INT mã giao dịch
    chinhanh VARCHAR(50) tên chi nhánh
    makh INT mã khách hàng
    sotien INT số tiền giao dịch (nghìn đồng)

    Một khách có thể giao dịch nhiều lần tại cùng chi nhánh. Hãy đếm xem mỗi chi nhánh phục vụ bao nhiêu khách hàng khác nhau và tổng số giao dịch.

    Ví dụ: chi nhánh có 4 giao dịch của 2 khách (mỗi khách 2 lần) thì sokhach = 2, sogd = 4.

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

      SETUP SQL tạo bảng giaodich và chèn dữ liệu.

    • Ràng buộc đầu vào:

      1≤1 \le1≤ số dòng ≤500\le 500≤500; 1≤makh≤1041 \le makh \le 10^41≤makh≤104; 1≤sotien≤1061 \le sotien \le 10^61≤sotien≤106.

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

      Mỗi dòng gồm 3 cột: chinhanh, sokhach, sogd — sắp xếp theo chinhanh tăng dần.

    Ví dụ:

    Đầu vào:

    CREATE TABLE giaodich (ma INT, chinhanh VARCHAR(50), makh INT, sotien INT);
    INSERT INTO giaodich VALUES (1, 'Cau Giay', 101, 500),(2, 'Cau Giay', 101, 300),(3, 'Cau Giay', 102, 700),(4, 'Dong Da', 101, 200),(5, 'Dong Da', 103, 900),(6, 'Cau Giay', 102, 100);

    Đầu ra:

    Cau Giay	2	4
    Dong Da	2	2

    Giải thích:

    Chi nhánh Cau Giay có 4 giao dịch nhưng chỉ 2 khách khác nhau (101, 102). Dong Da có 2 giao dịch của 2 khách (101, 103) — khách 101 được đếm ở cả hai chi nhánh vì DISTINCT tính trong từng nhóm.

    Đang tải editor...