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

    solution

    Đề bài: [Sqlite] Đơn hàng lớn hơn trung bình của khách đó

    Cho bảng donhang.

    Cột Kiểu Ý nghĩa
    ma_dh TEXT Mã đơn (khóa chính)
    ma_kh TEXT Mã khách
    tong_tien INTEGER Tổng tiền

    Dữ liệu mẫu:

    ma_dh ma_kh tong_tien
    D01 K1 200000
    D02 K1 600000
    D03 K1 400000
    D04 K2 100000
    D05 K2 500000

    Yêu cầu: Dùng CTE tb_khach tính trung bình tong_tien của mỗi khách, sau đó liệt kê các đơn có tong_tien lớn hơn trung bình của chính khách đó. Hiển thị ma_dh, ma_kh, tong_tien, sắp xếp theo ma_dh tăng dần.

    Hoàn thiện script: bảng và dữ liệu đã cho sẵn, viết câu truy vấn ở cuối.

    Kết quả mong đợi minh hoạ:

    D02|K1|600000
    D05|K2|500000
    
    • Định dạng đầu vào:

      Không có input. Dữ liệu được tạo sẵn trong script.

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

      Dùng WITH ... AS (CTE) tính AVG theo ma_kh rồi JOIN/so sánh.

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

      Mỗi dòng gồm ma_dh|ma_kh|tong_tien. Sắp xếp theo ma_dh tăng dần.

    Ví dụ:

    Đầu vào:

    Đầu ra:

    D02|K1|600000
    D05|K2|500000

    Giải thích:

    K1 trung bình 400000 -> chỉ D02 (600000) lớn hơn; K2 trung bình 300000 -> chỉ D05 (500000) lớn hơn.

    Đang tải editor...