brunch

You can make anything
by writing

C.S.Lewis

by 오준석 Nov 02. 2016

MySQL의 ORDER BY로 지정한 순서대로 정렬하기

MySQL 에서 쿼리를 짜다 보면 IN() 으로 던져 준 순서대로 값을 얻어오고 싶을 때가 있습니다.

아래와 같은 쿼리를 던지면 2, 1, 3 순서대로 오지 않고 자료의 id 순으로 정렬이 되어 옵니다.

SELECT * FROM [테이블명] WHERE [컬럼명] IN (2, 1, 3)


FIELD 를 사용하면 지정한 순서대로 데이터를 가져올 수 있습니다.

ORDER BY FIELD(id, 2, 1, 3)


예를 들어 다음과 같이 쿼리를 짜면 원하는 순서로 값을 얻을 수 있습니다.

SELECT * FROM [테이블명] WHERE _id IN (2, 1, 3) ORDER BY FIELD(_id, 2, 1, 3)



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari