【问题标题】:MYSQL query to sort GPS coordinatesMYSQL查询对GPS坐标进行排序
【发布时间】:2013-09-25 08:48:06
【问题描述】:

我有一个包含“gps”列的表格,它有逗号分隔的纬度和经度值。 (纬度,经度) 如果我想按纬度和经度对表格进行排序,我该怎么做?

更新:我可以按纬度排序

ORDER BY gps*1 asc/desc

但我也想按经度排序

如果我有两个单独的纬度和经度列,那会很容易,但我没有。

谁能帮我解决这个问题?

提前致谢

【问题讨论】:

    标签: mysql


    【解决方案1】:

    试试SUBSTRING_INDEX:

    SELECT SUBSTRING_INDEX(gps, ',', 1)  AS longitude,
           SUBSTRING_INDEX(gps, ',', -1) AS latitude
    FROM   yourtable
    ORDER  BY longitude,
              latitude  
    

    【讨论】:

    • 我不知道我应该接受哪个答案... :) 两者都是一样的
    【解决方案2】:

    您应该使用substring_index 来定位longitudelatitude

    编辑:

    select
    SUBSTRING_INDEX(longitude_and_latitude, ',', 1) as longitude,
    SUBSTRING_INDEX(longitude_and_latitude, ',', -1) as latitude
    from MY_TABLE
    order by 1,2 
    

    【讨论】:

    • 在字段名周围使用反引号。
    • 这么急着回答 ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    • 2015-10-10
    相关资源
    最近更新 更多