Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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/sorting/2.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-使用begginig中的文本对asc进行排序_Mysql_Sorting - Fatal编程技术网

MySQL-使用begginig中的文本对asc进行排序

MySQL-使用begginig中的文本对asc进行排序,mysql,sorting,Mysql,Sorting,我有一个MySQL表,带有“地址”字段,地址格式如下: StreetName 1 StreetName 10 StreetName 34 Streetname 8 如何进行将重新生成结果的MySQL查询: StreetName 1 Streetname 8 StreetName 10 StreetName 34 简单的“按地址排序”在这种情况下不起作用,因为“StreetName 8”在“StreetName 34”之后。如果街道名称没有空格,这应该起作用 SELECT * FROM tab

我有一个MySQL表,带有“地址”字段,地址格式如下:

StreetName 1
StreetName 10
StreetName 34
Streetname 8
如何进行将重新生成结果的MySQL查询:

StreetName 1
Streetname 8
StreetName 10
StreetName 34

简单的“按地址排序”在这种情况下不起作用,因为“StreetName 8”在“StreetName 34”之后。

如果街道名称没有空格,这应该起作用

SELECT * FROM table
ORDER BY CAST(SUBSTRING(address,LOCATE(' ',address)+1) AS UNSIGNED)
更新:如果街道名称有空格,但数字总是在末尾加空格,例如
S Av 2
N派克街5
等,你可以试试这个

SELECT * FROM table
ORDER BY CAST(SUBSTRING_INDEX(address,' ', -1) AS UNSIGNED)

我还假设街道号码是无符号的(不是负数)。A给你的

但是它有空格,所以这个解决方案不好:(@user2296998-我已经更新了我的答案。谢谢,但它不起作用。是否有可能创建一个新列,其中只有街道编号,而另一个没有街道编号?然后我可以先按街道名称排序,然后按街道编号按简单排序“按‘streetname’asc‘streetnumber’asc排序,我可以知道为什么它不工作吗?它只显示街道名称,地址字段中没有数字,排序也很奇怪,没有任何规则