sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo puedo consultar en mysql-table (donde se almacenan lat y long) cuál es la ubicación más cercana a la ubicación ingresada (lat y long)?

Sugeriría limitar su ubicación por algunas condiciones que pueden indexarse. Puede hacerlo fácilmente, ya que probablemente no desee enumerar a alguien de los EE. UU. a alguien en París como la ubicación más cercana.

Con solo una pequeña modificación en la consulta de RustamIS, puede eliminar la mayoría de las ubicaciones irrelevantes.

select * from gps_location_table t 
where
    t.x between 20.134554 and 20.334554 and t.y between 56.11455255 and 56.31455255
order by 
    sqrt((t.x - 20.234554)*(t.x - 20.234554) + (t.y - 56.21455255)*(t.y - 56.21455255)
desc

Así que definió un rectángulo donde desea buscar a las personas más cercanas.