Php 排序记录编号,然后按字母顺序排序
我有一系列大约12000条记录,具有以下唯一标识符:Php 排序记录编号,然后按字母顺序排序,php,mysql,mysqli,Php,Mysql,Mysqli,我有一系列大约12000条记录,具有以下唯一标识符: 1, 1S, 3AS, 1A, 1AS, 2, 2H, 2S, 3, 4, 4H, 2AS, 5, 6A, 101S, 101AS and so on. 我希望将其分类如下: 1, 1A, 1AS, 1S, 2, 2AS, 2H, 2S, 3, 3AS, 4, 4H, 5, 6A, 101AH, 101S and so on. 其工作原理如下: 首先按前缀数字排序,然后按第一个字母排序,然后按第二个字母排序。先按整数值排序,然后按列值排序
1, 1S, 3AS, 1A, 1AS, 2, 2H, 2S, 3, 4, 4H, 2AS, 5, 6A, 101S, 101AS and so on.
我希望将其分类如下:
1, 1A, 1AS, 1S, 2, 2AS, 2H, 2S, 3, 3AS, 4, 4H, 5, 6A, 101AH, 101S and so on.
其工作原理如下:
首先按前缀数字排序,然后按第一个字母排序,然后按第二个字母排序。先按整数值排序,然后按列值排序 假设您的列名是字母数字
SELECT alphanumeric
FROM sorting_test
ORDER BY CAST(alphanumeric as UNSIGNED), alphanumeric
使用
natsort()
也许?hi@frz3993您能详细说明一个解决方案吗?是否应该按标识符asc从表顺序中选择*?@GriffiN否,您的查询输出是:1、10、10H、10S、11、11H、11S。。。这意味着它带来了所有包含1的记录。@ITSagar接受这一回答,如果可以的话。