Ini adalah versi MySQL dari Provinsi Sri Lanka => Distrik => data terkait kota.
Ada tiga file sql,
### Statitiss
Struktur Tabel ### Tabel SIMMPE dengan data
Provinsi
pengenal | Name_en | Name_si | Name_ta |
---|---|---|---|
1 | Western | සස්නාිර | மேல |
2 | Pusat | මධ් යම | மத்தி |
Distrik
pengenal | Province_id | Name_en | Name_si | Name_ta |
---|---|---|---|---|
1 | 6 | Ampara | අම්පාර | அம்பாறை |
2 | 8 | Anuradhapura | අනුරාධපුරය | அனுராதபுரம் |
Kota
pengenal | Distrik_id | Name_en | Name_si | Name_ta | Sub_name_en | Sub_name_si | Sub_name_ta | Kode pos | Lintang | Garis bujur |
---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | Akkaraipattu | අක්කරපත්තුව | Batal | Batal | Batal | Batal | 32400 | 7.2167 | 81.85 |
2 | 1 | Ambagahawatta | අඹගහවත්ත | Batal | Batal | Batal | Batal | 90322 | 7.4 | 81.3 |
Untuk mencegah kesalahan kesalahan yang tidak perlu, mulailah mengimpor atau menjalankan provinsi.sql, lalu works.sql, terakhir kota.sql
Keuntungan dari garis lintang dan bujur
Inilah pernyataan SQL yang akan menemukan lokasi terdekat yang berada dalam radius 25 kilometer ke koordinat 7.358849, 81.280133. Ini menghitung jarak berdasarkan garis lintang/bujur dari baris itu dan lintang target/bujur, dan kemudian meminta hanya baris di mana nilai jarak kurang dari 25, memerintahkan seluruh kueri berdasarkan jarak.
SELECT id, name_en, name_si, name_ta, ( 6371 * ACOS(COS(RADIANS( 7 . 358849 )) * COS(RADIANS(latitude)) * COS(RADIANS(longitude) - RADIANS( 81 . 280133 )) + SIN(RADIANS( 7 . 358849 )) * SIN(RADIANS(latitude)))) AS distance
FROM cities
HAVING distance < 25
ORDER BY distance
Provinsi
සිංහල தமிழ 100% 100%
Distrik
සිංහල தமிழ 100% 100%
Kota
සිංහල தமிழ 4% 0%