获取由 MySQL“IN”子句中按(ORDER BY)位置排序的返回记录集
要返回记录集顺序,你需要使用 FIND_IN_SET()。我们先创建一个表格 −
mysql> create table recordSetOrderDemo -> ( -> EmployeeId int, -> EmployeeName varchar(30) -> ); Query OK, 0 rows affected (0.63 sec)
以下是使用 insert 命令在表格中插入一些记录的查询命令 −
mysql> insert into recordSetOrderDemo values(20,"John"); Query OK, 1 row affected (0.20 sec) mysql> insert into recordSetOrderDemo values(10,"Larry"); Query OK, 1 row affected (0.14 sec) mysql> insert into recordSetOrderDemo values(100,"Mike"); Query OK, 1 row affected (0.14 sec) mysql> insert into recordSetOrderDemo values(50,"Sam"); Query OK, 1 row affected (0.11 sec) mysql> insert into recordSetOrderDemo values(10,"David"); Query OK, 1 row affected (0.18 sec)
以下是使用 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)
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
JavaScript
PHP