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

Temukan 10 kota terdekat dengan MySQL menggunakan garis lintang dan garis bujur?

Anda tidak dapat menggunakan memiliki karena Anda tidak mengelompokkan berdasarkan apa pun. Yang perlu Anda lakukan adalah mengulangi apa yang Anda lakukan di pilih di mana.

$query = "SELECT *, 
( 3959 * acos( cos( radians('$slatitude') ) * 
cos( radians( latitude ) ) * 
cos( radians( longitude ) - 
radians('$slongitude') ) + 
sin( radians('$slatitude') ) * 
sin( radians( latitude ) ) ) ) 
AS distance FROM cities WHERE ( 3959 * acos( cos( radians('$slatitude') ) * 
cos( radians( latitude ) ) * 
cos( radians( longitude ) - 
radians('$slongitude') ) + 
sin( radians('$slatitude') ) * 
sin( radians( latitude ) ) ) ) < '$miles' ORDER BY distance ASC LIMIT 0, 10";

atau Anda bisa melakukan sesuatu seperti ini:

$query = "
SELECT * FROM (
  select *, 
  ( 3959 * acos( cos( radians('$slatitude') ) * 
  cos( radians( latitude ) ) * 
  cos( radians( longitude ) - 
  radians('$slongitude') ) + 
  sin( radians('$slatitude') ) * 
  sin( radians( latitude ) ) )) as distance from cities
) WHERE distance < '$miles' ORDER BY distance ASC LIMIT 0, 10";


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara membuat kunci utama mulai dari 1000?

  2. Batasi SQL dengan jumlah nilai baris

  3. Alat sinkronisasi MySQL gratis

  4. Masukkan data ke DB MySql dan tampilkan jika penyisipan berhasil atau gagal

  5. Hashing menggunakan crypt di PHP