order by 정렬이 이상해서 질문드립니다.

· 2010-02-02 (화) 16:09:00 · 1553 · 3

다름이 아니라 쿼리를 하고 정렬을 하려고 하는데 아래와 같이 했습니다.

where mb_level='5' and mb_8>0 order by mb_8 desc, mb_nick desc limit 10

근데 문제가 mb_8 필드값이 99까지는 A 라는 회원이 최상위에 올라오는데
100 일 경우에는 아래쪽으로 내려가 버리네요.

어떻게 하면 이 문제점을 해결할 수 있을까요..
왜 생기는지도 궁금하네요.. 99보다 100이 분명 숫자가 더 큰데..

|

댓글 3개

2010-02-02 (화) 16:15:03
일단 varchar 을 int 형으로 고쳐서 임시방편으로 사용하기로 했는데..
이유를 모르니 영 찜찜하네요 ㅋ
데이터 타입 문제입니다^^.
varchar 는 문자형,
INT 는 숫자형.

참고 사이트
http://www.mysqlkorea.co.kr/sub.html?mcode=develop&scode=01&m_no=21643&cat1=11&cat2=0&cat3=0&lang=k
2010-02-02 (화) 16:39:57
문자열 '100000'이 문자열 '9'보다
가나다순으로 보면 앞에 있죠.

int형으로 바꾸셨다면 제대로 처리하신 것입니다.
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
10-02-02 조회 1,767
10-02-02 조회 1,703
10-02-02 조회 1,127
10-02-02 조회 1,618
10-02-02 조회 1,036
10-02-02 조회 4,825
10-02-02 조회 1,077
10-02-02 조회 1,637
10-02-02 조회 1,168
10-02-02 조회 1,697
10-02-02 조회 1,370
10-02-02 조회 1,771
10-02-02 조회 1,765
10-02-02 조회 1,828
10-02-02 조회 1,554
10-02-02 조회 2,801
10-02-02 조회 1,607
10-02-02 조회 1,079
10-02-02 조회 1,066
10-02-02 조회 1,624