sql >> Databasteknik >  >> RDS >> Mysql

Söker du efter saker nära en geolokalisering?

Jag tror att du bytte latitud (37.780182) och longitud (-122.517349) för din centrala punkt, försök:

select
    id,
    hike_title,
    lat,
    lng,
    ( 3959 * acos(  cos( radians(37) )
                  * cos( radians( lat ) )
                  * cos( radians( lng ) - radians(-122.517349) )
                  + sin( radians(37.780182) ) * sin( radians( lat ) )
                 )
    ) AS distance
FROM
    my_awesome_table
HAVING
    distance < 10000
ORDER BY
    distance
LIMIT
    0 , 50



  1. MariaDB UNION Operatör förklaras

  2. MySQL-uppdateringsfråga med vänster gå med och gruppera efter

  3. 2 inmatningsrutor för autoslutförande/förslag med jQuery eller Ajax med andra ruta baserat på första val med flera objekt

  4. En SQL-fråga för att välja en sträng mellan två kända strängar