sql >> Databáze >  >> RDS >> Mysql

najít záznamy se zeměpisnou šířkou a délkou

Něco takového musíte použít k získání nejbližších výsledků k danému umístění

$query = sprintf(
         "SELECT foo,
                  6371 * ACOS( Cos(RADIANS(lat)) * COS(RADIANS(%f))
                      * COS(RADIANS(%f) - RADIANS(lng)) + SIN(RADIANS(lat))
                      * SIN(RADIANS(%f)) ) * 1000 AS distance
            FROM `%s`
        ORDER BY distance",
        $lat, $lag, $lng, $table
    );

Musíte nastavit $lat , $lng a $table podle struktury vaší tabulky a možná nastavte limit pro výsledek.

Zde získáte podrobné vysvětlení Vyhledávání na základě zeměpisné vzdálenosti pomocí MySQL .




  1. Jak získat fiktivní hodnotu pro prázdnou značku XML v tabulce pomocí Oracle?

  2. Vytváření proměnné pole v MySQL

  3. Propojení MATLABu a MySQL s ovladačem JDBC

  4. Práce s SQL kurzory