컴터/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 문을 이용해서 임의로 정렬할 수 있도록 문자순번을 맞춰주면 된다.
사용할일 거의 없지만 가끔 필요할때가 있더군요 -_-;
(항상 현업의 요청은 뒷통수를 때리지요)
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 문을 이용해서 임의로 정렬할 수 있도록 문자순번을 맞춰주면 된다.