如何按 MySQL 中由数字后跟字母组成的字段进行排序?

How to ORDER BY a field consisting of digits following by alphabets in MySQL?

如何在MySQL中对由数字后跟字母组成的字段进行ORDER BY,例如10s?所需的顺序是:

例如,

# Original data:
1
10
105
109
10s

# Desired results
1
10
10s
105
109

一种可能的方法:

ORDER BY CAST(alphanum AS UNSIGNED), alphanum

...或者,稍微简洁一点:

ORDER BY alphanum + 0, alphanum

Demo.

试试这个:

SELECT values FROM Table ORDER BY CAST(values AS UNSIGNED), values;