본문 바로가기

Database/MySQL

MySQL에서 원하는 순서대로 정렬하기

반응형

MySQL Field Function

첫번째 파라미터 값을 이후에 주어진 파라미터에서 찾아 위치를 정수로 반환한다.

일치하는 문자열이 없으면 0을 반환한다.

SELECT FIELD('habony', '1', 'kakao', 'eject', 'habony', 'kingkong');
    -> 4

SELECT FIELD('kakao', '1', 'kakao', 'eject', 'habony', 'kingkong');
    -> 2

SELECT FIELD('guru', '1', 'kakao', 'eject', 'habony', 'kingkong');
    -> 0

 

 

MySQL Query 사용중 정렬 기능을 사용하다 보면 ascending, descending 이외에 본인만의 기준으로 정렬 하려고 하는 경우 사용할 수 있는 방법이다.

이 Field Function을 사용하여 아래와 같이 원하는 대로 정렬을 할 수 있다.

select no, name, desciption
  from test
 where no in (170, 196, 205, 595) 
 order by field(no, 205, 595, 170, 196)
;
반응형

'Database > MySQL' 카테고리의 다른 글

MySQL Stored Procedure  (0) 2024.03.13
MySQL Stored Function  (0) 2024.03.13
SQL 재귀 쿼리  (0) 2023.07.06
Toad Edge : 강력한 MySQL 데이터베이스 관리 도구  (0) 2023.04.27
MySQL JSON 활용  (0) 2023.04.01