mysql order by field

반응형

FIELD

 

개념


 

 

FIELD 함수를 이용하여 특정한 값을 우선적으로 정렬할 수 있다.

 

 

 

문법


문법에 들어가기 앞서, 공통 테이블 예시

기본 문법

SELECT * FROM 테이블명 ORDER BY FIELD(컬럼명,우선 정렬할 값,두번째 정렬할 값,세번째...);

 

예시 1.제목(subject) 컬럼에 값이 '제목3'이 제일 먼저,'제목5'가 그다음으로 들어간 row 먼저 정렬

SELECT subject FROM board ORDER BY FIELD(subject,'제목3','제목5'),subject;

결과

'제목3' 값을 가진 row가 첫 번째, '제목5'을 가진 row가 두 번째로 정렬됐고 그다음 subject 컬럼이 정렬됐다.

 

예시 2.제목(subject) 컬럼에 값이 '제목4'이 들어간 row 먼저 정렬하고, 나머진 제목을 기준으로 역 정렬 하기

SELECT subject FROM board ORDER BY FIELD(subject,'제목4'),subject DESC;

결과

 

 

특별 예시. 값의 인덱스 찾기(해당 값이 없을 경우 0 반환)

SELECT FIELD(subject,'제목1','제목2') FROM board;

결과

 

반응형

+ Recent posts