PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Kueri kolom JSON tertentu (postgres) dengan sqlalchemy

Anda menggunakan agregat yang salah . count(expression) menghitung jumlah baris yang ekspresi tidak nol. Jika Anda ingin jumlah, gunakan sum(expression) :

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

Perhatikan bahwa nilai moneter dan matematika floating point biner adalah campuran yang buruk karena float biner tidak dapat mewakili semua nilai desimal . Alih-alih gunakan jenis moneter yang tepat , atau Numeric dalam hal ini SQLAlchemy menggunakan Decimal untuk merepresentasikan hasil dengan 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. Memantau Distribusi Percona untuk PostgreSQL - Metrik Utama

  2. JOOQ tidak menghasilkan prosedur kelebihan beban bernilai tabel dari PostgreSql

  3. Bagaimana cara memasukkan beberapa nilai ke dalam tabel postgres sekaligus?

  4. Masalah dengan Proyek JPA di Eclipse - kesalahan di kelas beranotasi @Entity:Tabel xxx tidak dapat diselesaikan

  5. 3 Cara Memeriksa Tipe Data Kolom di PostgreSQL