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

Postgres - mengonversi tabel tunggal dalam pohon JSON yang dikelompokkan

Dalam arti, struktur kueri mirip dengan hasil:

select json_agg(children)
from (
    select 
        json_build_object(
            'id', lvl1, 
            'children', json_agg(children order by lvl1)) as children
    from (
        select 
            lvl1, 
            json_build_object(
                'id', lvl2, 
                'children', json_agg(items order by lvl2)) as children
        from (
            select 
                lvl1, 
                lvl2, 
                json_build_object(
                    'id', lvl3, 
                    'items', json_agg(item order by lvl3)) as items
            from my_table
            group by lvl1, lvl2, lvl3
            ) s
        group by lvl1, lvl2
        ) s
    group by lvl1
    ) s;

DbFiddle.

Perhatikan, bahwa order by dalam agregat tidak diperlukan karena urutan array json tidak ditentukan. Saya telah menambahkannya untuk mendapatkan hasil yang diharapkan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara mengisi database postgresql dengan Mrjob dan Hadoop

  2. Nama aplikasi di url JDBC menggunakan c3p0

  3. Setel ulang kunci utama PostgreSQL ke 1

  4. RPostgreSQL - Koneksi R ke Amazon Redshift - Cara MENULIS/Memposting Kumpulan Data yang Lebih Besar

  5. Kesalahan postgres nilai tidak valid untuk parameter TimeZone:UTC