我有字符串,如M1 M3 M4 M14 M30 M40
等(真的是字母后的任何int 2-3位数字)
当我执行“按名称排序”时,返回:M1, M14, M3, M30, M4, M40
当我想要的时候:M1, M3, M4, M14, M30, M40
它把整个东西当作一个字符串来处理,但我想把它当作string+int来处理。
有什么想法吗?
最佳答案
您可以使用SUBSTR,并在ORDER中转换为无符号/有符号:
SELECT * FROM table_name ORDER BY
SUBSTR(col_name FROM 1 FOR 1),
CAST(SUBSTR(col_name FROM 2) AS UNSIGNED)
关于mysql - MySQL按字母顺序排列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12097368/