要返回记录集顺序,您需要使用FIND_IN_SET()。让我们首先创建一个表-
mysql> create table recordSetOrderDemo -> ( -> EmployeeId int, -> EmployeeName varchar(30) -> );
以下是使用insert命令在表中插入一些记录的查询-
mysql> insert into recordSetOrderDemo values(20,"John"); mysql> insert into recordSetOrderDemo values(10,"Larry"); mysql> insert into recordSetOrderDemo values(100,"Mike"); mysql> insert into recordSetOrderDemo values(50,"Sam"); mysql> insert into recordSetOrderDemo values(10,"David");
以下是使用select语句显示表中所有记录的查询-
mysql> select *from recordSetOrderDemo;
这将产生以下输出-
+------------+--------------+ | EmployeeId | EmployeeName | +------------+--------------+ | 20 | John | | 10 | Larry | | 100 | Mike | | 50 | Sam | | 10 | David | +------------+--------------+ 5 rows in set (0.00 sec)
以下是查询以返回记录集顺序-
mysql> select *from recordSetOrderDemo where EmployeeId IN(100,10,20,50) -> ORDER BY FIND_IN_SET(EmployeeId,'100,10,20,50');
这将产生以下输出-
+------------+--------------+ | EmployeeId | EmployeeName | +------------+--------------+ | 100 | Mike | | 10 | Larry | | 10 | David | | 20 | John | | 50 | Sam | +------------+--------------+ 5 rows in set (0.03 sec)