gpt4 book ai didi

mysql - MySQL 中的自然排序

转载 作者:行者123 更新时间:2023-11-29 20:30:41 25 4
gpt4 key购买 nike

实际上,我在MySQL数据库中有一张表。该表包含一列包含字母数字数据的列。我需要对列中的数据进行排序。我想要实现的结果如下。

1
2
2.B3
5
10 A-1
10 A-3
11
12
B3-43
B3-44
B3 - 48
BSomething 3
BSomething 4
BSomething 9
D.1
D.2
D.10
D.12

我在网上找到了一些关于MySQL自然排序的例子。我写了一个解决方案:

SELECT * FROM `myTable` ORDER BY  IF(name RLIKE '[[:digit:]]+',1,2), name 

不幸的是,它没有以正确的方式工作。更准确地说,它将数值数据排序为 1,10,2。我需要一个适用于所有情况的解决方案。

最佳答案

尝试使用length()函数,如果不起作用,请使用CAST() ...

尝试:

SELECT * FROM `myTable` ORDER BY LENGTH(name) , name;

关于mysql - MySQL 中的自然排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39094754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com