sql >> Database teknologi >  >> RDS >> PostgreSQL

PostgreSQL:Hvordan SUMMER man attributter, inklusive et JSONB-felt, og bevarer tabelformen?

Funktionen jsonb_each_text() i underforespørgslen forårsager kolonnen total_list_size er replikeret så mange gange som antallet af elementer i star_pu , så avg() viser et korrekt resultat.

For at få en total_list_size for en date du kan bruge en parallel underforespørgsel, der akkumulerer værdien uafhængigt.

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. JDBCTemplate sæt indlejret POJO med BeanPropertyRowMapper

  2. Hvordan returnerer jeg en jsonb-array og en række objekter fra mine data?

  3. Parsing af XML-kommentarer i Oracle

  4. Indsættelseseffektivitet af en stor mængde data med SQL