按其值的一部分对mysql表列值进行排序

时间:2014-03-24 05:39:15

标签: mysql sql

我的表sample的列名为Id,其值为

BA001
BA002
CAB003
BA004
BA005

现在,当我将order by id应用于我的选择查询时,输出将显示为

BA001
BA002
BA004
BA005
CAB003

但我需要按顺序输出

BA001
BA002
CAB003
BA004
BA005

有可能实现这个目标吗?

2 个答案:

答案 0 :(得分:3)

是的,有可能。假设你的Id列是一个VARCHAR,并且你的Id中有一个固定数量的字符作为数字,它们出现在右边,你可以使用MySQL中的RIGHT函数。

SELECT * FROM sample ORDER BY RIGHT(Id, 3);

答案 1 :(得分:2)

试试这个

SELECT ID FROM Table1
Order By Right(ID,3),ID

Fiddle Demo