MySQL के साथ आस-पास के स्थान ढूँढना
यहां SQL कथन है जो निकटतम 20 स्थानों को ढूंढेगा जो 25 मील से 37, -122 निर्देशांक के दायरे में हैं। यह उस पंक्ति के अक्षांश/देशांतर और लक्ष्य अक्षांश/देशांतर के आधार पर दूरी की गणना करता है, और फिर केवल पंक्तियों के लिए पूछता है जहां दूरी मान 25 से कम है, पूरी क्वेरी को दूरी से आदेश देता है, और इसे 20 परिणामों तक सीमित करता है। मील के बजाय किलोमीटर के आधार पर खोजने के लिए, 3959 को 6371 से बदलें।
तालिका संरचना :
id,name,address,lat,lng
नोट - यहाँ अक्षांश =37 और देशांतर =-122। तो आप बस अपना खुद का पास करें।
SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) *
cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) *
sin( radians( lat ) ) ) ) AS distance FROM your_table_name HAVING
distance < 25 ORDER BY distance LIMIT 0 , 20;
आपको विवरण यहां मिल सकता है ।