Bạn có thể sử dụng hàm field () với mệnh đề ORDER BY để sắp xếp theo thứ tự các giá trị. Cú pháp như sau
CHỌN * TỪ yourTableNameWHERE yourColumnName IN (Value1, Value2, Value3, ....... N); ĐẶT HÀNG THEO LĨNH VỰC (yourColumnName, Value1, Value2, Value3, ....... N);Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau
mysql> tạo bảng SelectInDemo -> (-> StudentId int, -> StudentName varchar (100), -> StudentAge int ->); Truy vấn OK, 0 hàng bị ảnh hưởng (1,04 giây)Chèn bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau
mysql> chèn vào giá trị SelectInDemo (1, 'Mike', 23); Truy vấn OK, 1 hàng bị ảnh hưởng (0,21 giây) mysql> chèn vào giá trị SelectInDemo (10, 'Bob', 21); Truy vấn OK, 1 hàng bị ảnh hưởng (0,16 giây) mysql> chèn vào giá trị SelectInDemo (11, 'Carol', 30); Truy vấn OK, 1 hàng bị ảnh hưởng (0,25 giây) mysql> chèn vào giá trị SelectInDemo (15, 'Sam', 24); Truy vấn OK, 1 hàng bị ảnh hưởng (0,15 giây) mysql> chèn vào giá trị SelectInDemo (20, 'John', 26); Truy vấn OK, 1 hàng bị ảnh hưởng (0,09 giây) mysql> chèn vào giá trị SelectInDemo (101, 'David', 27); Truy vấn OK, 1 hàng bị ảnh hưởng (0,25 giây) mysql> chèn vào giá trị SelectInDemo (96, 'Justin', 23); Truy vấn OK, 1 hàng bị ảnh hưởng (0,27 giây)Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau
mysql> select * từ SelectInDemo;Sau đây là kết quả
+ ----------- + ------------- + ------------ + | StudentId | StudentName | StudentAge | + ----------- + ------------- + ------------ + | 1 | Mike | 23 || 10 | Bob | 21 || 11 | Carol | 30 || 15 | Sam | 24 || 20 | John | 26 || 101 | David | 27 || 96 | Justin | 23 | + ----------- + ------------- + ------------ + 7 hàng trong bộ (0,00 giây)Đây là truy vấn để sử dụng IN với câu lệnh SELECT trong MySQL
mysql> select * from SelectInDemo -> where StudentId IN (1,96,101,10,15,11,20) -> order by field (StudentId, 1,96,101,10,15,11,20);Sau đây là kết quả
+ ----------- + ------------- + ------------ + | StudentId | StudentName | StudentAge | + ----------- + ------------- + ------------ + | 1 | Mike | 23 || 96 | Justin | 23 || 101 | David | 27 || 10 | Bob | 21 || 15 | Sam | 24 || 11 | Carol | 30 || 20 | John | 26 | + ----------- + ------------- + ------------ + 7 hàng trong bộ (0,00 giây)Hãy để chúng tôi xem để đặt hàng khác.
Truy vấn như sau cho đơn hàng thứ hai.
mysql> select * from SelectInDemo -> where StudentId IN (1,10,11,15,20,101,96) -> order by field (StudentId, 1,10,11,15,20,101,96);Sau đây là outpu
+ ----------- + ------------- + ------------ + | StudentId | StudentName | StudentAge | + ----------- + ------------- + ------------ + | 1 | Mike | 23 || 10 | Bob | 21 || 11 | Carol | 30 || 15 | Sam | 24 || 20 | John | 26 || 101 | David | 27 || 96 | Justin | 23 | + ----------- + ------------- + ------------ + 7 hàng trong bộ (0,00 giây)