컴터/mysql

쿼리문에 강제로 정렬(order by) 지정하는 방법

우렁씨 2007. 10. 21. 14:07
http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=56857&page=1

사용할일 거의 없지만 가끔 필요할때가 있더군요 -_-;
(항상 현업의 요청은 뒷통수를 때리지요)



select * from test 이렇게 실행하면 결과값이
-------------------
A
B
C
-------------------

이렇게 나온다고 할때 이 정렬을

-------------------
A
C
B
-------------------

이렇게 바꾸고 싶다면 다음과 같이 한다. (A,B,C 데이타가 있는 필드명은 fld라 하겠다)

select * from test order by
    case fld
        when 'A' then '1'
        when 'B' then '3'
        when 'C' then '2'
        else '9'
    end

이렇게 case 문을 이용해서 임의로 정렬할 수 있도록 문자순번을 맞춰주면 된다.