sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL:hoe attributen SOM, inclusief een JSONB-veld, en tabelvorm behouden?

De functie jsonb_each_text() in de subquery veroorzaakt de kolom total_list_size wordt net zo vaak gerepliceerd als het aantal items in star_pu , dus avg() geeft een goed resultaat weer.

Om één total_list_size te krijgen voor een date u kunt een parallelle subquery gebruiken die de waarde onafhankelijk optelt.

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. Ondersteuning voor externe sleutels inschakelen in SQLite

  2. 50 kolommen controleren met Oracle-trigger

  3. Hoe LocalTime op te slaan in de slaapstand

  4. PG::ConnectionBad:fe_sendauth:geen wachtwoord opgegeven