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

MySQL गणना दूरी (सरल समाधान)

आप एसक्यूएल स्टेटमेंट के किसी अन्य भाग से चुनिंदा क्लॉज में उपनाम का संदर्भ नहीं दे सकते हैं। आपको पूरे एक्सप्रेशन को अपने जहां क्लॉज में रखना होगा:

WHERE
    ROUND( SQRT( POW( ( (69.1/1.61) * ('52.64' - latitude)), 2)
        + POW(( (53/1.61) * ('6.88' - longitude)), 2)), 1) < 10

परिकलित डेटा उत्पन्न करने के लिए एक उप-क्वेरी का उपयोग करने के लिए एक क्लीनर समाधान होगा:

  SELECT *, distance
    FROM (
       SELECT *,
           ROUND( SQRT( POW( ( (69.1/1.61) * ('52.64' - latitude)), 2)
               + POW(( (53/1.61) * ('6.88' - longitude)), 2)), 1) AS distance
           FROM lp_relations_addresses
       ) d
   WHERE d.distance < 10
ORDER BY d.distance DESC

डेमो:http://www.sqlize.com/q96p2mCwnJ



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP में तैयार mysqli क्वेरी में पैरामीटर को कैसे अनदेखा करें?

  2. क्या वैंप सर्वर के समान कुछ है?

  3. mysql में नकारात्मक सीमा ऑफसेट

  4. लारवेल डेटाबेस स्कीमा, अशक्त विदेशी

  5. MySQL तालिका में कॉलम कैसे स्थानांतरित करें?