mysql 쿼리 관련 질문!
본문
안녕하세요. 특정 필드에 year+month 값을 저장합니다.
보통은 201604 이렇게 저장하는데요.
간혹 20164 로 저장되기도 합니다. 문제는 여기서 order by를 사용하는데요.
만약 20163, 20164, 201605 이렇게 3~5월이 있고 order by desc 하면 5~3월 순으로 나왔으면 하는데..
20164, 20163, 201605 이렇게 정렬됩니다.
제대로 정렬되기 위한 방법이 있을까요?
답변 2
201605 > 20164 > 20163
이 순서로 정렬을 원하신다면 숫자로 하면 될 것 같습니다.
ORDER BY 칼럼 + 1 DESC
해결하였습니다.
ORDER BY STR_TO_DATE( CONCAT(left(컬럼명, 4), '-', substring(컬럼명, 5, length(컬럼명))) , '%Y-%m' ) DESC
답변을 작성하시기 전에 로그인 해주세요.