我进行了搜索,找不到适合我需求的解决方案。我有一个需要修改的mysql命令,但我卡住了。以下代码按街道名称排序,但之后也需要按#排序。这是我的代码:

SELECT * from property_details
ORDER BY SUBSTR(LTRIM(address), LOCATE(' ',LTRIM(address))) ASC


这样做是这样的:

320 Booken Pine
803 E. Cordy Ct.
2046 Last Fine Court
2000 Last Fine Court
2019 Last Fine Court
27-A Persons Alley
27-B Persons Alley


我需要这样做:

320 Booken Pine
803 E. Cordy Ct.
2000 Last Fine Court
2019 Last Fine Court
2046 Last Fine Court
27-A Persons Alley
27-B Persons Alley


任何帮助深表感谢。非常感谢您。

最佳答案

您需要第二个ORDER BY条件来按数字对具有相同街道名称的行进行排序。

SELECT * from property_details
ORDER BY SUBSTR(LTRIM(address), LOCATE(' ',LTRIM(address))) ASC,
         LEFT(address, LOCATE(' ',LTRIM(address)) ASC

关于php - MySQL命令按街道名称然后编号对地址进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42544322/

10-10 18:25