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

sqlalchemy के साथ एक विशिष्ट JSON कॉलम (पोस्टग्रेज) को क्वेरी करें

आप गलत aggregate का इस्तेमाल कर रहे हैं . count(expression) उन पंक्तियों की संख्या गिनता है जिनके लिए अभिव्यक्ति निरर्थक नहीं है। यदि आप एक राशि चाहते हैं, तो sum(expression) . का उपयोग करें :

db.session.query(func.sum(Item.data['cost'].astext.cast(Numeric))).\
    filter(Item.data['surcharge'].astext.cast(Numeric) > 1).\
    scalar()

ध्यान दें कि मौद्रिक मूल्य और बाइनरी फ्लोटिंग पॉइंट गणित के कारण खराब मिश्रण है। बाइनरी फ़्लोट्स सभी दशमलव मानों का प्रतिनिधित्व करने में सक्षम नहीं हैं . इसके बजाय एक उचित मौद्रिक प्रकार का उपयोग करें , या Numeric जिस स्थिति में SQLAlchemy Decimal का उपयोग करता है पायथन में परिणामों का प्रतिनिधित्व करने के लिए।



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

  2. क्या पोस्टग्रेज में डेटाबेस लेनदेन में संग्रहीत कार्यविधियाँ चलती हैं?

  3. कैसे हल करें org.postgresql.jdbc.PgConnection.createClob () अभी तक लागू नहीं किया गया है

  4. गोलांग में *DB.exec() या तैयार कथनों का भी उपयोग क्यों करें?

  5. ActiveRecord [:id] के साथ संरेखित चयनित कॉलम ढूंढता है और केवल लौटाता है