레코드 세트 순서를 반환하려면 FIND_IN_SET()을 사용해야 합니다. 먼저 테이블을 생성하겠습니다 -
mysql> create table recordSetOrderDemo -> ( -> EmployeeId int, -> EmployeeName varchar(30) -> ); Query OK, 0 rows affected (0.63 sec)
다음은 삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하는 쿼리입니다 -
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)