繁体   English   中英

MySQL中的自然排序技术

[英]Natural sorting technique in mysql

我在mysql中执行自然排序时遇到问题。 我是mysql菜鸟,也许这会增加问题

我在工作的网站上有公交车号码列表

名单最初是随机的

bus_name

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;

你可以试试这个吗?

SELECT version
FROM version_sorting
ORDER BY LENGTH(version),  version;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM