MySQL field() 函数?
mysqlmysqli database
field() 函数返回值在值列表中的索引位置。让我们使用 field() 函数和 ORDER BY 对值进行排序。语法如下。
SELECT *FROM yourTableName order by field(yourColumnName,yourValue1,yourValue2,yourValue3,yourValue4,.....N) desc;
为了理解上述语法,让我们首先创建一个表。创建表的查询如下。
mysql> create table OrderByDemo -> ( -> StudentId int -> ); Query OK, 0 rows affected (0.71 sec)
使用 insert 命令在表中插入一些记录。 查询语句如下。
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)
现在,您可以使用 select 语句显示表中的所有记录。查询如下.
mysql> select *from OrderByDemo;
以下是输出。
+-----------+ | StudentId | +-----------+ | 101 | | 1010 | | 1001 | | 401 | +-----------+ 4 rows in set (0.00 sec)
这是按值排序的查询。我们将按降序排序。查询如下。
mysql> select *from OrderByDemo order by field(StudentId,101,401,1001,1010) desc;
以下是输出。
+-----------+ | StudentId | +-----------+ | 1010 | | 1001 | | 401 | | 101 | +-----------+ 4 rows in set (0.00 sec)