sql >> Database >  >> RDS >> Mysql

vind records met breedte- en lengtegraad

Je moet zoiets gebruiken om de dichtstbijzijnde resultaten op een bepaalde locatie te krijgen

$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
    );

Je moet $lat . instellen , $lng en $table volgens uw tabelstructuur en misschien een limiet instellen voor het resultaat.

U krijgt hier een gedetailleerde uitleg Geo Distance Search met MySQL .




  1. Mislukte configuratie van MySQL-serverinstallatie

  2. Onder welke omstandigheden verhoogt ROWNUM=1 de prestaties in een bestaande syle-query aanzienlijk?

  3. Mysql - verwijder meerdere tabellen

  4. genereer waar-clausule in bash met behulp van variabelen