MySQL按数字顺序排序

时间:2014-03-11 22:04:53

标签: mysql sql

我有一个"位置"来自MySQL数据库的简单查询返回的数据集:

A1
A10,
A2
A3

按顺序排序"按位置排序"声明。问题是我希望返回的序列是:

A1
A2
A3
A10

我不确定这是否可以通过MySQL Order By语句实现?

3 个答案:

答案 0 :(得分:2)

我认为最简单的方法是按长度排序,然后按值排序:

order by length(location), location

答案 1 :(得分:1)

尝试

ORDER BY SUBSTR(location, 2)

答案 2 :(得分:1)

试试这个

order by CAST(replace((Location),'A','') as signed )

DEMO HERE

编辑:

如果您有其他字母,那么A然后考虑剪切第一个字母并将其余字母整数排列。

    ORDER BY CAST(SUBSTR(loc, 2) as signed ) 

DEMO HERE