Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak mogę zapytać w mysql-table (gdzie jest przechowywana długość i długość), która lokalizacja jest najbliższa wprowadzonej lokalizacji (długość i długość)?

Proponuję ograniczyć swoją lokalizację o pewne warunki, które można zindeksować. Możesz to zrobić łatwo, ponieważ prawdopodobnie nie chcesz podawać jako najbliższej lokalizacji kogoś ze Stanów Zjednoczonych dla kogoś z Paryża.

Wystarczy niewielka modyfikacja zapytania RustamIS, aby wyeliminować większość nieistotnych lokalizacji.

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

Więc zdefiniowałeś prostokąt, w którym chcesz szukać najbliższych osób.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak określić wersję MySQL

  2. Zombie Connections do MySQL przy użyciu c3p0 z tomcat

  3. mysql:Jak mogę usunąć znak na początku lub na końcu pola?

  4. c3p0 zawiesza się w oczekiwaniu Dostępny z hibernacją

  5. PHP MySQL - Jak wstawić domyślną wartość w przygotowanym zestawieniu