테스트 사이트 - 개발 중인 베타 버전입니다

mysql 쿼리 관련 질문! 채택완료

올때메로나 9년 전 조회 2,378

안녕하세요. 특정 필드에 year+month 값을 저장합니다.

 

보통은 201604 이렇게 저장하는데요. 

 

간혹 20164 로 저장되기도 합니다. 문제는 여기서 order by를 사용하는데요.

 

만약 20163, 20164, 201605 이렇게 3~5월이 있고 order by desc 하면 5~3월 순으로 나왔으면 하는데..

 

20164, 20163, 201605 이렇게 정렬됩니다.

 

제대로 정렬되기 위한 방법이 있을까요?

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

해결하였습니다.

 

ORDER BY STR_TO_DATE( CONCAT(left(컬럼명, 4),  '-', substring(컬럼명, 5, length(컬럼명))) ,  '%Y-%m' ) DESC 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

201605 > 20164 > 20163

이 순서로 정렬을 원하신다면 숫자로 하면 될 것 같습니다.

ORDER BY 칼럼 + 1 DESC

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

올때메로나
9년 전
답변감사합니다!
그러나 201605, 20164, 201603 이라면 +1을 사용할 수 없을것 같아요...

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인