J'ai une table contenant un tableau d'objets json similaire à celui-ci:
id | record
____________________
name1 | [{"a":0, "b":x}, {"a":1, "b":y}, {"a":2, "b":z}, ...]
Je voudrais obtenir une table contenant un tableau json de seulement, disons, les valeurs "a":
id | record
____________________
name1 | [0, 1, 2, ...]
J'utilise PostgreSQL 11, donc les dernières fonctions sont acceptables.
Vous devez d'abord désintégrer les éléments du tableau, puis agréger chaque valeur:
select id,
(select jsonb_agg(t -> 'a') from jsonb_array_elements(record) as x(t)) as record
from the_table;
Exemple en ligne: https://rextester.com/ZONHTW97204