PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Table Postgres vers un tableau à deux dimensions

Une possibilité est de commencer par grouper par x et utilisez array_agg() pour obtenir les tableaux internes. Ensuite, agrégez à nouveau en utilisant array_agg() pour obtenir les tableaux internes dans un tableau externe.

SELECT array_agg(a ORDER BY x)
       FROM (SELECT x,
                    array_agg(val ORDER BY y) a
                    FROM t1
                    GROUP BY x) t;