【问题标题】:How can I get the following query into a JSON object?如何将以下查询放入 JSON 对象?
【发布时间】:2020-10-21 20:08:25
【问题描述】:

我有两个表:users 带有字段 user_idnametransactions 带有字段 transaction_iduser_idamount 和其他两个不相关的字段。

现在我有以下查询,它列出了每个 user_id 的名称和金额的总和。

select users.*, SUM(transactions.anount) 
from users,transactions 
where users.user_id = transaction.user_id 
group by users.user_id

现在我希望它是 JSON 格式。所以像:

[{user_id: 1, name: foo, amount: 13},{user_id: 2, name: bar, amount:-5}]

我该怎么做?我假设使用json_object_aggjson_agg,但我什么也做不了。

【问题讨论】:

    标签: sql json postgresql


    【解决方案1】:

    您可以将基本查询包装为派生表,然后将该结果聚合为 JSON:

    select json_agg(to_jsonb(t))
    from (
      select u.user_id, u.name, sum(t.amount) as amount
      from users u
         join transactions t on t.user_id = u.user_id
      group by u.user_id
    ) t
    

    【讨论】:

      猜你喜欢
      • 2020-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-15
      • 2021-08-22
      • 1970-01-01
      • 1970-01-01
      • 2017-05-13
      相关资源
      最近更新 更多