sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL:Hur summerar man attribut inklusive ett JSONB-fält och behåller tabellformen?

Funktionen jsonb_each_text() i underfrågan orsakar kolumnen total_list_size replikeras så många gånger som antalet objekt i star_pu , alltså avg() visar ett korrekt resultat.

För att få en total_list_size för ett date du kan använda en parallell underfråga som ackumulerar värdet oberoende.

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. felfråga mysql på pentaho dataintegration (cdb)

  2. MySQL/PHP - Skulle citattecken kring siffror bryta några frågor?

  3. MySQL Ändra tabell, lägg till kolumn med unikt slumpmässigt värde

  4. Anslut till fjärransluten MySQL db från docker-behållaren