Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 필드 값으로 사용자 정의 정렬을 수행하는 방법은 무엇입니까?

<시간/>

MySQL에서 필드 값으로 사용자 정의 정렬을 수행하려면 ORDER BY에서 FIELD() 메소드를 사용하십시오. 먼저 테이블을 생성해 보겠습니다.

mysql> create table DemoTable (StudentId int);
Query OK, 0 rows affected (0.58 sec)

다음은 삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하는 쿼리입니다.

mysql> insert into DemoTable values(100);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(110);
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values(90);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values(70);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values(120);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values(140);
Query OK, 1 row affected (0.14 sec)

다음은 select 명령을 사용하여 테이블의 레코드를 표시하는 쿼리입니다.

mysql> select *from DemoTable;

그러면 다음과 같은 출력이 생성됩니다.

+-----------+
| StudentId |
+-----------+
|       100 |
|       110 |
|        90 |
|        70 |
|       120 |
|       140 |
+-----------+
6 rows in set (0.00 sec)

다음은 필드 값으로 사용자 정의 MySQL 정렬을 수행하는 쿼리입니다.

mysql> select *from DemoTable order by field(StudentId,'100','70','140','90','120','110');

그러면 다음과 같은 출력이 생성됩니다.

+-----------+
| StudentId |
+-----------+
|       100 |
|        70 |
|       140 |
|        90 |
|       120 |
|       110 |
+-----------+
6 rows in set (0.00 sec)