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

    solution

    Đề bài: [SQL Server] Sắp xếp đơn hàng theo thứ tự ưu tiên tùy biến

    Sàn thương mại điện tử muốn hiển thị đơn hàng theo thứ tự ưu tiên trạng thái: 'Khan' trước, rồi 'Thuong', cuối cùng 'Cho'.

    Dùng ORDER BY theo biểu thức CASE.

    Cột Kiểu Ý nghĩa
    madon nvarchar Mã đơn
    trangthai nvarchar Trạng thái

    Ví dụ: thứ tự ưu tiên Khan=1, Thuong=2, Cho=3.

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

      Bảng don_hang.

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

      Cùng mức ưu tiên thì sắp xếp theo madon. Sắp xếp theo CASE rồi madon.

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

      Các cột madon, trangthai.

    Ví dụ:

    Đầu vào:

    CREATE TABLE don_hang (madon nvarchar(10), trangthai nvarchar(20));
    INSERT INTO don_hang VALUES ('D1',N'Cho'),('D2',N'Khan'),('D3',N'Thuong'),('D4',N'Khan');

    Đầu ra:

    D2	Khan
    D4	Khan
    D3	Thuong
    D1	Cho

    Giải thích:

    Thu tu uu tien: Khan(1) gom D2,D4 sap theo madon; roi Thuong(2) la D3; roi Cho(3) la D1. Ket qua: D2, D4, D3, D1.

    Đang tải editor...