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

PostgreSQL:Bagaimana cara SUM atribut termasuk bidang JSONB, dan mempertahankan bentuk tabel?

Fungsi jsonb_each_text() di subquery menyebabkan kolom total_list_size direplikasi sebanyak jumlah item dalam star_pu , jadi avg() menunjukkan hasil yang tepat.

Untuk mendapatkan satu total_list_size untuk date Anda dapat menggunakan subkueri paralel yang mengakumulasikan nilai secara independen.

select *
from (
    select date, json_object_agg(key, val) total_star_pu
    from (
        select date, key, sum(value::numeric) val
        from frontend_practicelist, jsonb_each_text(star_pu)
        group by date, key
        ) s
    group by date
    ) s
    join (
        select date, sum(total_list_size) total_list_size
        from frontend_practicelist
        group by date
        ) t
    using(date)
order by date;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kecualikan definisi fungsi saat membuang database PostgreSQL

  2. Tambahkan kolom secara dinamis dengan beberapa nilai ke tabel apa pun menggunakan fungsi PL/pgSQL

  3. tidak dapat membuat ekstensi tanpa peran pengguna super

  4. pg_ctl Tips dan Trik

  5. psql:perintah tidak ditemukan Mac