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

x मील त्रिज्या के भीतर अन्य पंक्तियों के लिए mySQL देशांतर और अक्षांश क्वेरी

मैं जिस स्टोर लोकेटर के साथ काम करता हूं उस पर मैं क्वेरी का उपयोग करता हूं:

SELECT
    `id`,
    (
        6371 *
        acos(
            cos( radians( :lat ) ) *
            cos( radians( `lat` ) ) *
            cos(
                radians( `long` ) - radians( :long )
            ) +
            sin(radians(:lat)) *
            sin(radians(`lat`))
        )
    ) `distance`
FROM
    `location`
HAVING
    `distance` < :distance
ORDER BY
    `distance`
LIMIT
    25

:lat और :long उपयोगकर्ता द्वारा पारित किए गए बिंदु हैं जहां lat और long डेटाबेस में संग्रहीत बिंदु हैं।

:दूरी को मीलों में मापा जाता है, कोड के कार्यशील संस्करण में:दूरी वास्तव में 10-50 मील की दूरी से एक ड्रॉप डाउन से खींची जाती है

किलोमीटर के साथ काम करने के लिए कोड को बदलना 3959 (मील में पृथ्वी के केंद्र से इसकी सतह तक की दूरी) को 6371 (3959 मील को किलोमीटर में परिवर्तित) करके पूरा किया जा सकता है, उस समाधान के लिए जोशेंडो का धन्यवाद।




  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 में RBAC के लिए डेटाबेस डिज़ाइन करने के लिए मार्गदर्शिका

  3. MySQL में सूची आइटम की स्थिति कैसे वापस करें

  4. MySQL में टेबल कॉपी कैसे करें

  5. विंडोज़ पर MySQL कैसे स्थापित करें