Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में देशांतर और अक्षांश के भीतर क्वेरी करना

आपको Haversine सूत्र की खोज करनी चाहिए, लेकिन एक अच्छी शुरुआत हो सकती है:

पहले url से उद्धृत:

यहां SQL कथन दिया गया है जो निकटतम 20 स्थानों को ढूंढेगा जो 25 मील से 37, -122 निर्देशांक के दायरे में हैं। यह उस पंक्ति के अक्षांश/देशांतर और लक्ष्य अक्षांश/देशांतर के आधार पर दूरी की गणना करता है, और फिर केवल पंक्तियों के लिए पूछता है जहां दूरी मान 25 से कम है, पूरी क्वेरी को दूरी से आदेश देता है, और इसे 20 परिणामों तक सीमित करता है। मील के बजाय किलोमीटर के आधार पर खोजने के लिए, 3959 को 6371 से बदलें।

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एन के साथ टेबल कैसे बनाएं:MySQL में एम रिलेशनशिप?

  2. कैसे एक ही स्तंभ मूल्यों के साथ mysql तालिका से एक निश्चित पंक्ति को हटाने के लिए?

  3. आदेश sql ट्री पदानुक्रम

  4. रूबी ऑन रेल्स के साथ MySQL सर्वर चला गया है

  5. कोडनिर्देशक डीबी-> अद्यतन () बनाम MySQL मूल अद्यतन प्रभावित पंक्तियाँ:0