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

MySQL field () hàm?

Hàm field () trả về vị trí chỉ mục của một giá trị trong danh sách các giá trị. Hãy để chúng tôi sắp xếp các giá trị bằng cách sử dụng hàm field () với ORDER BY. Cú pháp như sau.

SELECT *FROM yourTableName order by
   field(yourColumnName,yourValue1,yourValue2,yourValue3,yourValue4,.....N) desc;

Để hiểu cú pháp trên, trước tiên chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau.

mysql> create table OrderByDemo
-> (
-> StudentId int
-> );
Query OK, 0 rows affected (0.71 sec)

Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau.

mysql> insert into OrderByDemo values(101);
Query OK, 1 row affected (0.19 sec)

mysql> insert into OrderByDemo values(1010);
Query OK, 1 row affected (0.56 sec)

mysql> insert into OrderByDemo values(1001);
Query OK, 1 row affected (0.12 sec)

mysql> insert into OrderByDemo values(401);
Query OK, 1 row affected (0.12 sec)

Bây giờ bạn có thể 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 *from OrderByDemo;

Sau đây là kết quả.

+-----------+
| StudentId |
+-----------+
| 101       |
| 1010      |
| 1001      |
| 401       |
+-----------+
4 rows in set (0.00 sec)

Đây là truy vấn để sắp xếp thứ tự theo giá trị. Chúng tôi sẽ sắp xếp theo thứ tự giảm dần. Truy vấn như sau.

mysql> select *from OrderByDemo order by field(StudentId,101,401,1001,1010) desc;

Sau đây là kết quả.

+-----------+
| StudentId |
+-----------+
| 1010      |
| 1001      |
| 401       |
| 101       |
+-----------+
4 rows in set (0.00 sec)