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 4.3] Phân loại lệnh Mua / Bán / Khác

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 4: Kiểu dữ liệu và hàm xử lý dữ liệu — khóa SQL

    Báo cáo lệnh cần gắn nhãn tiếng Việt cho cột side: BUY thành Mua, SELL thành Ban, mọi giá trị còn lại thành Khac.

    Trên các lệnh không bị hủy (status <> 'CANCELLED'), hãy gom theo nhãn loai và xuất:

    • so_lenh — số lệnh;
    • tong_kl — tổng quantity;
    • gia_tri — tổng quantity * price, in DECIMAL(18,2).

    Chỉ xuất nhóm có dữ liệu. Sắp xếp theo loai tăng dần (theo bảng chữ cái: Ban, Khac, Mua).

    Gợi ý: CASE WHEN side = 'BUY' THEN ... END. Trong GROUP BY phải lặp lại đúng biểu thức CASE (hoặc gom ở truy vấn con). MySQL có thêm IF(điều_kiện, a, b), SQL Server có IIF(điều_kiện, a, b), nhưng CASE chạy trên cả hai.

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

      Bảng Orders(order_id, side, quantity, price, status).

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

      loai, so_lenh, tong_kl, gia_tri (TAB); sắp xếp theo loai.

    Ví dụ:

    Đầu vào:

    Đầu ra:

    Ban	39	46100	2089350000.00
    Mua	64	79800	3768500000.00

    Giải thích:

    Dữ liệu gốc chỉ có BUY và SELL nên chỉ ra hai nhóm Ban và Mua.

    Chủ đề

    📊 SQLSQLSQL: Buổi 4 – Kiểu dữ liệu & hàm xử lýTất cả môn học

    Đang tải editor...