根据经纬度查询附近企业 | SQL

Posted 窗边冷月光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据经纬度查询附近企业 | SQL相关的知识,希望对你有一定的参考价值。

--第一种

SELECT  
    ent_id, ent_name, longitude, latitude,  
    ROUND(  
        6378.138 * 2 * ASIN(  
            SQRT(  
                POW(  
                    SIN(  
                        (  
                            40.042307 * PI() / 180 - latitude * PI() / 180  
                        ) / 2  
                    ),  
                    2  
                ) + COS(40.042307 * PI() / 180) * COS(latitude * PI() / 180) * POW(  
                    SIN(  
                        (  
                            116.317205 * PI() / 180 -   longitude * PI() / 180  
                        ) / 2  
                    ),  
                    2  
                )  
            )  
        ) * 1000  
    ) AS juli  
FROM  
ent  
ORDER BY  
    juli DESC  
limit 0,100;

 

 

--第二种

SELECT  
    ent_id, ent_name, longitude, latitude
FROM  
ent
ORDER BY   POWER(MOD(ABS(longitude-116.317205),360),2) + POWER(ABS(latitude-40.042307),2) DESC  
limit 0,100;

 

 

--根据右上角经纬度和左下角经纬度查询范围内企业

select ent_id, ent_name, longitude, latitude
      from ent 
      where #{topRightLatitude,jdbcType=DECIMAL}>latitude and latitude>#{leftLowerLatitude,jdbcType=DECIMAL}
      and #{topRightLongitude,jdbcType=DECIMAL}>longitude and longitude>#{leftLowerLongitude,jdbcType=DECIMAL}

 

以上是关于根据经纬度查询附近企业 | SQL的主要内容,如果未能解决你的问题,请参考以下文章

根据经纬度查询最近距离,mysql查询经纬度附近范围

基于纬度/经度查询附近兴趣点的 SQL 查询 - SQLite

Java,Mysql-根据一个给定经纬度的点,进行附近500米地点查询–合理利用算法

获取给定纬度和经度附近的企业列表或商店列表? [关闭]

sql (mysql)怎么实现查询某一个经纬度周围500米距离的餐馆,数据库存放所有餐馆的经纬度?

使用GPS经纬度定位附近地点(某一点范围内查询)