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
mysql首先根据数字对字符串进行排序_Mysql_String_Sorting - Fatal编程技术网

mysql首先根据数字对字符串进行排序

mysql首先根据数字对字符串进行排序,mysql,string,sorting,Mysql,String,Sorting,我不知道有没有可能我有这样的主题代码刺 Math 451 Math 451a Math 452 Math 452a Math 452b Math 451 Math 452 Math 451a Math 452a Math 452b 我想要一个能像这样对这些字符串排序的查询 Math 451 Math 451a Math 452 Math 452a Math 452b Math 451 Math 452 Math 451a Math 452a Math 452b 我试过了 CAST(SUB

我不知道有没有可能我有这样的主题代码刺

Math 451
Math 451a
Math 452
Math 452a
Math 452b
Math 451
Math 452
Math 451a
Math 452a
Math 452b
我想要一个能像这样对这些字符串排序的查询

Math 451
Math 451a
Math 452
Math 452a
Math 452b
Math 451
Math 452
Math 451a
Math 452a
Math 452b
我试过了

CAST(SUBSTR(subjects.code,INSTR(subjects.code, " ") + 1) AS UNSIGNED)
但没有如预期的那样工作
感谢您的帮助和建议

您可以先按字符串长度排序,然后按字符串本身排序:

SELECT code
FROM subjects
ORDER BY LENGTH(code), code;