Computer >> Máy Tính >  >> Lập trình >> MySQL

Duy trì thứ tự đã chọn trong MySQL UNION?

Đó là một lựa chọn tốt để sử dụng câu lệnh CASE. Không sử dụng UNION. Đầu tiên chúng ta hãy tạo một bảng -

 mysql> tạo bảng DemoTable (Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, ShippingDate datetime); Truy vấn OK, 0 hàng bị ảnh hưởng (0,63 giây) 

Chèn một số bản ghi vào bảng bằng lệnh chèn -

 mysql> chèn vào giá trị DemoTable (ShippingDate) ('2019-04-21'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,17 giây) mysql> chèn vào giá trị DemoTable (ShippingDate) ('2019-01-01'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,13 giây) mysql> chèn vào giá trị DemoTable (Ngày vận chuyển) ('2019-05-11'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,16 giây) mysql> chèn vào giá trị DemoTable (Ngày vận chuyển) ( '2018-12-31'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,18 giây) mysql> chèn vào các giá trị DemoTable (Ngày vận chuyển) ('2019-02-18'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,19 giây)  

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

 mysql> select * từ DemoTable; 

Điều này sẽ tạo ra kết quả sau -

 + ---- + --------------------- + | Id | Ngày vận chuyển | + ---- + --------------------- + | 1 | 2019-04-21 00:00:00 || 2 | 2019-01-01 00:00:00 || 3 | 2019-05-11 00:00:00 || 4 | 2018-12-31 00:00:00 || 5 | 2019-02-18 00:00:00 | + ---- + --------------------- + 5 hàng trong bộ (0,00 giây) 

Sau đây là truy vấn để bảo toàn đơn đặt hàng đã chọn sử dụng thứ tự theo từng trường hợp.

 mysql> select * từ ĐƠN HÀNG CÓ THỂ DÙNG ĐƯỢC THEO TRƯỜNG HỢP KHI Vận chuyển  

Điều này sẽ tạo ra kết quả sau -

 + ---- + --------------------- + | Id | Ngày vận chuyển | + ---- + --------------------- + | 3 | 2019-05-11 00:00:00 || 1 | 2019-04-21 00:00:00 || 5 | 2019-02-18 00:00:00 || 2 | 2019-01-01 00:00:00 || 4 | 2018-12-31 00:00:00 | + ---- + --------------------- + 5 hàng trong bộ (0,00 giây)