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

Hiển thị các ID theo một thứ tự cụ thể với MySQL IN ()?

Để hiển thị các ID theo một thứ tự cụ thể, tức là thứ tự bạn chọn, hãy sử dụng phương thức FIELD ().

Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable
   (
   UserId int
   );
Query OK, 0 rows affected (0.64 sec)

Sau đây là truy vấn để chèn một số bản ghi trong bảng bằng cách sử dụng lệnh insert -

mysql> insert into DemoTable values(100);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(10);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values(40);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(80);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(70);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values(60);
Query OK, 1 row affected (0.13 sec)

Sau đây là truy vấn để hiển thị các bản ghi từ bảng bằng lệnh select -

mysql> select *from DemoTable;

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

+--------+
| UserId |
+--------+
| 100    |
| 10     |
| 40     |
| 80     |
| 70     |
| 60     |
+--------+
6 rows in set (0.00 sec)

Sau đây là truy vấn sử dụng IN () và FIELD () để hiển thị các bản ghi theo thứ tự bạn chọn -

mysql> select UserId from DemoTable where UserId IN(60,100,10,80,40,70)
order by field(UserId,60,100,10,80,40,70);

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

+--------+
| UserId |
+--------+
| 60     |
| 100    |
| 10     |
| 80     |
| 40     |
| 70     |
+--------+
6 rows in set (0.03 sec)