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

MySQL에서 전달된 ID의 사용자 지정 순서 유지

<시간/>

ID의 사용자 지정 순서를 유지하려면 ORDER BY CASE 문을 사용합니다. 먼저 테이블을 생성하겠습니다 -

mysql> 테이블 DemoTable1550 생성 -> ( -> Id int, -> Name varchar(20) -> );쿼리 OK, 영향을 받는 행 0개(0.61초)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable1550 values(101,'Chris');Query OK, 1개의 row가 영향을 받았습니다(0.10초)mysql> insert into DemoTable1550 values(110,'Bob');Query OK, 1개의 row가 영향을 받았습니다(0.29초 )mysql> DemoTable1550 값에 삽입(105,'Carol');쿼리 OK, 1행 영향(0.12초)mysql> DemoTable1550 값에 삽입(109,'Mike');쿼리 OK, 1행 영향(0.17초) 

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> DemoTable1550에서 * 선택;

이것은 다음과 같은 출력을 생성합니다 -

+------+-------+| 아이디 | 이름 |+------+-------+| 101 | 크리스 || 110 | 밥 || 105 | 캐롤 || 109 | Mike |+------+-------+세트에 행 4개(0.00초)

다음은 전달된 ID의 순서를 유지하는 쿼리입니다 -

mysql> select * from DemoTable1550 -> where Id IN(109,101,110) -> order by case Id -> when 109 then 1001 -> when 101 then 1002 -> when 110 then 1003 -> end;

이것은 다음과 같은 출력을 생성합니다 -

+------+-------+| 아이디 | 이름 |+------+-------+| 109 | 마이크 || 101 | 크리스 || 110 | 밥 |+---+-------+세트의 행 3개(0.00초)