MYSQL 문자 속 숫자 기준으로 정렬하는 방법
일반적인 order by 필드 asc 를 할 경우
숫자가 순차적으로 되는것이 아니고 아래 예제처럼 정렬
select name from table order by codename asc;
+-------------------+
| name |
+-------------------+
| 1.면 |
| 10.O |
| 11.마 |
| 12.브 |
| 2.린 |
| 3.의 |
| 4.계 |
| 5.방 |
| 6.커 |
| 7.누 |
| 8.패 |
| 9.부 |
+-------------------+
이것을 1,2,3,... 등 숫자 순으로 정렬하기 위해서는 order by 필드 *1 asc 로 정렬조건을 변경
정렬하고자 하는 필드 뒤에 *1 이 핵심이며 여러가지로 응용도 가능
select name from table order by cname*1 asc;
+-------------------+
| cname |
+-------------------+
| 1.면 |
| 2.린 |
| 3.의 |
| 4.계 |
| 5.방 |
| 6.커 |
| 7.누 |
| 8.패 |
| 9.부 |
| 10.O |
| 11.마 |
| 12.브 |
+-------------------+