我正试图得到这个结果。
MDT 1
MDT 2
MDT 3
MDT 11
MDT 44
但是,这些值是按字母顺序排列的,所以123在2之前。
例子:
MDT 1
MDT 11
MDT 156
MDT 2
MDT 3
MDT 303
MDT 44
等等。
我正在使用这个代码,但它似乎不起作用。
SELECT * FROM file ORDER BY ABS(ID) ASC
我该怎么解决?
最佳答案
如果您的id总是包含前缀MDT
,那么您可以使用它,根据您的要求进行排序:
SELECT * FROM File
ORDER BY CAST(replace(ID, 'MDT ', '') AS UNSIGNED) ASC
SQLFiddle demo