我有一个"位置"来自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