Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 排序记录编号,然后按字母顺序排序_Php_Mysql_Mysqli - Fatal编程技术网

Php 排序记录编号,然后按字母顺序排序

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. 其工作原理如下: 首先按前缀数字排序,然后按第一个字母排序,然后按第二个字母排序。先按整数值排序,然后按列值排序

我有一系列大约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.
其工作原理如下:


首先按前缀数字排序,然后按第一个字母排序,然后按第二个字母排序。

先按整数值排序,然后按列值排序

假设您的列名是字母数字

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接受这一回答,如果可以的话。