Как получить сумму json значений с тем же ключом с другими агрегированными атрибутами, которых нет в json - postgresql - PullRequest
0 голосов
/ 14 апреля 2020

Я долго искал, но не могу создать запрос, который бы соответствовал моим потребностям. Я использую postgres 10

У меня есть таблица (test_table):

imageint, first_count->int,second_count->int, json_column->text">

С помощью этого запроса я могу получить сумма «first_count» и «second_count» выглядит следующим образом:

SELECT 
 sum("first_count") as count1,
 sum("second_count") as count2
FROM
 public."test_table" 

Результат:

enter image description here

, и я также могу использовать это запрос, чтобы получить сумму json значений для ключа:

select json_object_agg(key, sum) as json_data
from (
    select key, sum(value::int)
    from public."test_table" 
    cross join jsonb_each_text("json_column"::jsonb)
    group by key
    ) s

Результат:

enter image description here

Но мой вопрос Как я могу получить все эти данные в одном запросе?

Мой идеальный результат будет выглядеть примерно так:

enter image description here

Пожалуйста дайте мне знать, если есть какая-либо дополнительная информация, которую я могу предоставить.

...