【问题标题】:How can I select datas to array in postgresql dbms?如何在 postgresql dbms 中选择要排列的数据?
【发布时间】:2019-03-28 15:19:57
【问题描述】:

查询结果:

|  student_id  |  name  |  age  |  group  | 
---------------+--------+-------+----------  
| 1413001      | Ann    | 14    | Tennis  |
| 1413001      | Ann    | 14    | Choir   |

如果我选择这样的记录,我想让它们像 JSON 对象一样

{student_id: "1413001", name: "Ann", Age: "14", group:["Tennis", "Choir"]}

如何在 Java 或 SQL 中使它们像这样?

【问题讨论】:

标签: java sql json postgresql


【解决方案1】:

demo: db<>fiddle

SELECT 
    row_to_json(s) 
FROM (
    SELECT 
        student_id, 
        name, 
        age, 
        json_agg("group") as "group"
    FROM students 
    GROUP BY student_id, name, age
) s
  1. 使用json_agg将“组”分组到一个json数组中
  2. 整个子查询行可以用row_to_json转换成json对象

https://www.postgresql.org/docs/current/static/functions-json.html


请注意,“组”是 Postgres 中的保留字。我建议重命名此列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    • 2023-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多