我在 mysql 中执行自然排序时遇到问题。我是一个 mysql 菜鸟,也许这会增加问题
我在我工作的网站上有一个公共(public)汽车号码列表
列表最初是随机的
巴士名称
F1
F22
F10
F15
F7
F90
我试图用这个进行自然排序
mysql> SELECT version
-> FROM version_sorting
-> ORDER BY CAST(version AS UNSIGNED), version;
取自http://www.mpopp.net/2006/06/sorting-of-numeric-values-mixed-with-alphanumeric-values/
但是我现在有以下内容
F1
F10
F15
F22
F7
F90
正如我所注意到的,我相信上面的问题与 mysql 为每个字符串附加的虚零有关,从而使 F7 成为 F70,即 > F22
我希望我的列表是这样的
F1
F7
F10
F15
F22
F90
你们能帮帮我吗
最佳答案
试试这个:
SELECT vs.version
FROM version_sorting vs
ORDER BY CAST(SUBSTRING(vs.version,2) AS SIGNED), vs.version;
关于mysql - mysql中的自然排序技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20604385/