FIELD() 함수를 사용하여 원하는 문자열을 선택하여 정렬합니다. 구문은 다음과 같습니다 -
SELECT *FROM yourTableNameORDER BY FIELD(yourColumnName,'yourValue1', 'yourValue2','yourValue3',...N);
위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -
mysql> 테이블 OrderByListOfStrings 생성 -> ( -> Id int not null auto_increment, -> CarName varchar(20), -> PRIMARY KEY(Id) -> );쿼리 OK, 영향을 받는 행 0개(0.68초)사전>삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다 -
mysql> insert into OrderByListOfStrings(CarName) values('Ford');Query OK, 1행 영향(0.18초)mysql> insert into OrderByListOfStrings(CarName) values('Audi');Query OK, 1행 영향( 0.17초)mysql> Insert into OrderByListOfStrings(CarName) values('Honda');Query OK, 영향을 받는 1개 행(0.13초)mysql> OrderByListOfStrings(CarName) values에 삽입('Aston Martin');Query OK, 영향을 받는 1개 행 (0.53초)mysql> Insert into OrderByListOfStrings(CarName) values('Bugatti');Query OK, 1개의 행이 영향을 받았습니다(0.20초)mysql> insert into OrderByListOfStrings(CarName) values('BMW');Query OK, 1개의 행이 영향을 받았습니다. (0.21초)select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -
mysql> 선택 *from OrderByListOfStrings;다음은 출력입니다 -
+----+--------------+| 아이디 | 자동차 이름 |+----+--------------+| 1 | 포드 || 2 | 아우디 || 3 | 혼다 || 4 | 애스턴 마틴 || 5 | 부가티 || 6 | BMW |+----+--------------+6줄 세트(0.00초)다음은 문자열을 선택하여 순서를 가져오는 쿼리입니다. 원하는 순서대로 설정하세요 -
mysql> select *from OrderByListOfStrings -> 필드별 주문(CarName,'Bugatti','BMW','Audi','Aston Martin','Ford','Honda');다음은 field() 메서드로 설정한 문자열을 재배열한 출력입니다. -
+----+--------------+| 아이디 | 자동차 이름 |+----+--------------+| 5 | 부가티 || 6 | BMW || 2 | 아우디 || 4 | 애스턴 마틴 || 1 | 포드 || 3 | Honda |+----+--------------+6줄 세트(0.00초)