Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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
MySQL特殊排序_Mysql_Database_Sorting - Fatal编程技术网

MySQL特殊排序

MySQL特殊排序,mysql,database,sorting,Mysql,Database,Sorting,在我的(MySQL)数据库中有一个字段,其发票号的格式为:024/14 024部分是从代码而不是从数据库处理的自动增量,14实际上是年份 有没有一种方法可以根据此字段进行排序,记住年份的数字是最后一个,而不必重新构造表格?尝试以下选择: select * from table_name order by SUBSTRING_INDEX(field_name, '/', 1); where field\u name-您的发票编号字段。尝试以下操作: select inv_number from

在我的(
MySQL
)数据库中有一个字段,其发票号的格式为:
024/14

024
部分是从代码而不是从数据库处理的自动增量,
14
实际上是年份

有没有一种方法可以根据此字段进行排序,记住年份的数字是最后一个,而不必重新构造表格?

尝试以下选择:

select * from table_name order by SUBSTRING_INDEX(field_name, '/', 1);
where field\u name-您的发票编号字段。

尝试以下操作:

select inv_number from yourtable order by substring(inv_number, 5, 2), substring(inv_number, 1, 3)

这几乎是正确的,先生,受这个答案的启发,我可以通过在mySQL中确认
substring()。它应该是
子字符串(str,5)
子字符串(str,5,2)
,但我需要按
子字符串(str,1,3)
排序作为第二个排序标准。