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

MySQL डेटाबेस से सभी रिकॉर्ड प्राप्त करें जो Google मानचित्र .getBounds के भीतर हैं?

पिछले सभी उत्तर विश्व के केवल 1/4 भाग के लिए कार्य करते हैं!

W3t Tr3y का उत्तर करीब था, लेकिन इसमें एक त्रुटि थी (अतिरिक्त "<")।

वे सभी केवल संयुक्त राज्य अमेरिका के लिए काम करते हैं, क्योंकि यह उत्तरी गोलार्ध में है। वे दक्षिण गोलार्ध के लिए काम नहीं करते हैं, न ही पूर्वी देशों (ग्रीनविच के दाएं) के लिए।

यहाँ फ़ंक्शन या जटिल सामग्री के बिना एक सरल समाधान है।

अक्षर उस क्रम में परिणाम होते हैं जिस क्रम में आप उन्हें map.getBounds() से प्राप्त करते हैं, यानी स्व्लैट, swlng, nelat, nelng =a, b, c, d.

SELECT * FROM tilistings WHERE
(CASE WHEN a < c
        THEN lat BETWEEN a AND c
        ELSE lat BETWEEN c AND a
END) 
AND
(CASE WHEN b < d
        THEN lng BETWEEN b AND d
        ELSE lng BETWEEN d AND b
END) 

या किसी अन्य समाधान के साथ और/या (आप इसे गति के लिए परीक्षण कर सकते हैं, मुझे नहीं पता कि इसे वर्कबेंच में एक से अधिक बार कैसे चलाया जाए)

SELECT * FROM tilistings WHERE
(a < c AND lat BETWEEN a AND c) OR (c < a AND lat BETWEEN c AND a)
AND 
(b < d AND lng BETWEEN b AND d) OR (d < b AND lng BETWEEN d AND b)

अब आप पूरी दुनिया का नक्शा बना सकते हैं :) मुझे आशा है कि कोई उपरोक्त उत्तरों को गलत के रूप में चिह्नित कर सकता है, क्योंकि वे मेरे जैसे लाखों सीखने वाले लोगों के लिए हमारा बहुत समय बर्बाद कर रहे हैं। मुझे आश्चर्य है कि जब वे वास्तव में काम नहीं करते हैं तो उन्हें इतने वोट कैसे मिलते हैं!

पुनश्च:निर्देशांक के सटीक 15 दशमलव मान से मेल खाने वाले आपके मानचित्र पिक्सेल एज की संभावना दुनिया के पूरे 3/4 के लापता होने की संभावना से अरबों गुना कम है!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. त्रुटि कोड:1136 कॉलम गिनती पंक्ति 1 पर मूल्य गणना से मेल नहीं खाती) एसपी के अंदर

  2. जांचें कि क्या मौजूद है, यदि ऐसा है, तो 1++ से अपडेट करें, यदि सम्मिलित नहीं है

  3. मैसकल क्वेरी त्रुटि - ऑटो सिक्के जोड़ें

  4. MySQL में वर्तमान टाइमस्टैम्प के भीतर 10 मिनट के सभी रिकॉर्ड कैसे चुनें?

  5. mysql में उपयोगकर्ताओं को उनके अंकों के आधार पर रैंक करें