Nếu có thể, bạn nên thay đổi kiểu dữ liệu của cột thành một số nếu bạn chỉ lưu trữ các số.
Nếu bạn không thể làm điều đó thì hãy chuyển giá trị cột của bạn thành một số nguyên integer
rõ ràng với
select col from yourtable
order by cast(col as unsigned)
hoặc ẩn ý chẳng hạn với một phép toán buộc chuyển đổi thành số
select col from yourtable
order by col + 0
BTW MySQL chuyển đổi chuỗi từ trái sang phải. Ví dụ:
Giá trị chuỗistring value | integer value after conversion
--------------+--------------------------------
'1' | 1
'ABC' | 0 /* the string does not contain a number, so the result is 0 */
'123miles' | 123
'$123' | 0 /* the left side of the string does not start with a number */