Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana menemukan lokasi terdekat menggunakan garis lintang dan garis bujur dari database SQL?

Menemukan lokasi terdekat dengan MySQL

Berikut pernyataan SQL yang akan menemukan 20 lokasi terdekat yang berada dalam radius 25 mil dengan koordinat 37, -122. Ini menghitung jarak berdasarkan garis lintang/garis bujur dari baris tersebut dan garis lintang/garis bujur target, dan kemudian hanya meminta baris yang nilai jaraknya kurang dari 25, mengurutkan seluruh kueri berdasarkan jarak, dan membatasinya hingga 20 hasil. Untuk menelusuri menurut kilometer, bukan mil, ganti 3959 dengan 6371.

Struktur Tabel :

id,name,address,lat,lng

CATATAN - Di sini lintang =37 &bujur =-122. Jadi, Anda tinggal lulus sendiri.

SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * 
cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * 
sin( radians( lat ) ) ) ) AS distance FROM your_table_name HAVING
distance < 25 ORDER BY distance LIMIT 0 , 20;

Anda dapat menemukan detailnya di sini .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Penyamaran keluaran MySQL (yaitu nomor telepon, SSN, dll. pemformatan tampilan)

  2. Pemetaan JPA:QuerySyntaxException:foobar tidak dipetakan...

  3. Kembalikan fungsi Javascript

  4. Berapa banyak angka penting yang harus saya simpan di database saya untuk koordinat GPS?

  5. PHP MySQLI Mencegah Injeksi SQL