PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Заявете конкретна JSON колона (postgres) с sqlalchemy

Използвате грешен агрегат . 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 за представяне на резултатите в Python.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL - внедряване на надеждна опашка

  2. Премахване на подготвени заявки

  3. Използване на pg_dump за получаване само на изрази за вмъкване от една таблица в базата данни

  4. PostgreSQL:Как да предавам параметри от командния ред?

  5. Съгласуваност в postgresql със заключване и избор за актуализация