MySQL ORDER BY 조건별 필드 및 ASC DESC

by 조쉬 posted Jan 08, 2019
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
SELECT * FROM myTable ORDER BY (CASE WHEN 조건1 THEN myField1 END) ASC, (CASE WHEN 조건2 THEN myField2 END) DESC

이런식으로 하면 조건1이 맞으면 myField1 ASC 정렬이 되고, 조건2가 맞으면 myField2 DESC 정렬이 됩니다.


예제) myField1, myField2 DESC 로 정렬하고 myField1 이 A 일 경우만 myField2 ASC 로 정렬.
SELECT * FROM myTable ORDER BY myField1, (CASE WHEN myField1 = 'A' THEN myField2 END) ASC, (CASE WHEN myField1 != 'A' THEN myField2 END) DESC