order by 정렬이 이상해서 질문드립니다. 정보
order by 정렬이 이상해서 질문드립니다.본문
다름이 아니라 쿼리를 하고 정렬을 하려고 하는데 아래와 같이 했습니다.
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이 분명 숫자가 더 큰데..
댓글 전체
일단 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
varchar 는 문자형,
INT 는 숫자형.
참고 사이트
http://www.mysqlkorea.co.kr/sub.html?mcode=develop&scode=01&m_no=21643&cat1=11&cat2=0&cat3=0&lang=k

문자열 '100000'이 문자열 '9'보다
가나다순으로 보면 앞에 있죠.
int형으로 바꾸셨다면 제대로 처리하신 것입니다.
가나다순으로 보면 앞에 있죠.
int형으로 바꾸셨다면 제대로 처리하신 것입니다.