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

Mencocokkan bujur/lintang terdekat

Yang elegan (lebih akurat ) cara melakukan ini (tetapi tidak secepat kilat )

// Closest within radius of 25 Miles
// 37, -122 are your current coordinates
// To search by kilometers instead of miles, replace 3959 with 6371
SELECT feature_name, 
 ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) 
  * cos( radians( long ) - radians(-122) ) + sin( radians(37) ) 
  * sin( radians( lat ) ) ) ) AS distance 
FROM geo_features HAVING distance < 25 
ORDER BY distance LIMIT 1;

Sunting

Ini adalah rumus Haversine untuk menghitung jarak melingkar dari koordinat geografis. Berikut adalah beberapa penerapan rumus ini di platform yang berbeda

R = earth’s radius (mean radius = 6,371km)
Δlat = lat2− lat1
Δlong = long2− long1
a = sin²(Δlat/2) + cos(lat1).cos(lat2).sin²(Δlong/2)
c = 2.atan2(√a, √(1−a))
d = R.c
// Note that angles need to be in radians to pass to Trigonometric functions



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masukkan ke tabel Mysql saat pengguna menutup browser?

  2. Impor file csv besar ke database mysql menggunakan php

  3. Cara mengembalikan baris yang memiliki nilai kolom yang sama di MySql

  4. Cara Menonaktifkan Mode SQL Ketat di MySQL 5.7

  5. Sisipan PHP MySQL tidak berfungsi