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

PostgreSQL:Как да SUM атрибути, включително JSONB поле, и да запазим формата на таблицата?

Функцията jsonb_each_text() в подзаявката предизвиква колоната total_list_size се репликира толкова пъти, колкото са елементите в star_pu , така че avg() показва правилен резултат.

За да получите един total_list_size за date можете да използвате паралелна подзаявка, която натрупва стойността независимо.

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. PostgreSQL - максимален брой параметри в IN клауза?

  2. CakePHP 2.2 с PostgreSQL Неуспешно вмъкване на нов ред - Грешка в базата данни:Недефинирана таблица:7 ГРЕШКА:релацията table_id_seq не съществува

  3. Вмъкване и избиране на PostGIS Geometry с Gorm

  4. PostgreSQL 13:ОГРАНИЧЕНИЕ... С ВРЪЗКИ

  5. Оптимизирани ли са масивите в jOOQ &PostgreSQL?