[MySQL] 숫자가 포함된 숫자, 문자 혼합 문자열 정렬

Gammi·2023년 2월 28일
0

MySQL

목록 보기
5/5

✔ 숫자, 문자 혼합 문자열 정렬


상품을 책이랑 굿즈로 구분하기 위해서 상품코드 제일 앞에 책은 B를 굿즈는 G를 붙여뒀었다.

앞에 문자가 붙어서 컬럼 타입도 VARCHAR로 만들었는데 그래도 뒤에 숫자가 있으니까 원래 하던대로 하면 숫자크기대로 정렬이 될 줄 알았음...



SELECT * FROM book ORDER BY product_idx


처음에는 위와 같은 쿼리를 써써 정렬을 했었다.



결과는?!!




완전 지멋대로 뒤죽박죽 난리가 났음...

어떻게 B229 다음에 B23이 올 수 있냔 말이야,,,


그래서 문자열 길이 순으로 먼저 정렬하고 다시 숫자를 정렬했더니 내가 원하는 결과가 나왔다



SELECT * FROM book ORDER BY LENGTH(product_idx) DESC, product_idx DESC


ORDER BY뒤를 다음과 같이 바꿔줬다




이제 큰 숫자부터 순서대로 나온다!ㅎㅎ

프로젝트하면서 계속 마음에 걸렸었는데 이제야 마음이 편해졌다ㅎㅎ





여기를 참고했습니다!

profile
개발자가 되었어요⭐️

0개의 댓글