如何在MySQL中对包含字母后面的数字的字段进行排序,例如10s
?所需的顺序是:
10
10s
例如,
# Original data:
1
10
105
109
10s
# Desired results
1
10
10s
105
109
答案 0 :(得分:2)
试试这个:
SELECT values FROM Table ORDER BY CAST(values AS UNSIGNED), values;
答案 1 :(得分:1)
一种可能的方法:
ORDER BY CAST(alphanum AS UNSIGNED), alphanum
...或者,更简洁:
ORDER BY alphanum + 0, alphanum