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

मैं इस भू-दूरी SQL क्वेरी पोस्टग्रेज़ को संगत कैसे बना सकता हूँ?

क्वेरी MySQL के लिए विशिष्ट सिंटैक्स का उपयोग करती है। Postgres (और अन्य सभी जो मुझे RDBMS के लिए ज्ञात हैं) में आपको एक व्युत्पन्न तालिका का उपयोग करना चाहिए:

select *
from (
    select *, 
        (3959 * acos( cos( radians(53.49) ) * cos( radians( places.lat ) ) 
        * cos( radians( places.lng ) - radians(-2.38) ) 
        + sin( radians(53.49) ) * sin( radians( places.lat ) ) ) ) AS distance 
    from (
        select *
        from places
        where places.lat between 53.475527714192 and 53.504472285808
        and places.lng between -2.4043246788967 and -2.3556753211033
        ) as places 
    where places.deleted_at is null 
    ) sub
where distance <= $1 
order by distance asc

मैंने संख्यात्मक स्थिरांक से उद्धरण भी हटा दिए हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cassandra . में लास्ट-टचर्ड टाइम स्टोर करने का सबसे अच्छा तरीका

  2. सामान्य लिस्प में उपयोग के लिए सबसे अच्छी SQL लाइब्रेरी क्या है?

  3. होस्ट नाम पोस्टग्रेज़ को पते में अनुवाद नहीं कर सका:नाम या सेवा ज्ञात नहीं है

  4. ग्रह संरेखण

  5. Slony-I में स्विचओवर/स्विचबैक PostgreSQL के प्रमुख संस्करणों को अपग्रेड करते समय 8.4.x/9.3.x