질문Q #2404
order_by 질문
헛발이2013-10-09 18:27:46
선배님들 부탁드려요~


데이터는

0
1
0
3
0
0
2

이렇게 되어 있는 데이터를


1
2
3
0
0
0
0

이렇게 정렬 하고 싶은데요...
order_by를 그냥 하면


0
0
0
0
1
2
3

이 되거든요...
0을 가장 밑으로 보내는 order 를 하고 싶은데...
답변3
#1 빛그림 2013-10-09 20:19:55
mysql>SELECT * FROM 테이블명 ORDER BY CASE 필드명 WHEN '0' THEN 0 END, 필드명 ASC

위 코드와 같은 형식으로 작성하시면 잘 될거에요.
0일 경우 정렬 순서를 0번로 하라는 의미를 담은 쿼리문입니다.
WHEN문을 이용하면 임의의 순서로 정렬을 시킬 수 있습니다. 즉 0이든 1이든 어떠한 특정 값도 원하는 위치로 정렬할 수 있습니다.
#2 들국화 2013-10-10 11:34:12
SELECT col FROM tablename ORDER BY col = 0, col;



#3 헛발이 2013-10-10 11:50:55
빛그림자님 들국화님 감사합니다.
많은 도움이 되었습니다.