Postgres/SQL:如何按列值对返回的行进行分组



所以我有这个表employee_info:

first_name
branch_id employee_idlast_name
2 1 "Barack"> ";奥巴马
2 2 ";Johnny"> ";Depp">
2 3 ";Emma"> ";Watson">
4 4 ";Daniel"> ";Radcliffe">
4 5 ";莱昂纳多 ";迪卡普里奥
7 17 ";Denzel"> ";华盛顿">
4 13 ";基努 ";Reeves">
7 15 ";Samuel"> ";Jackson">
7 19 ";Brendan"> ";Fraser">
7 20 ";Kanye"> ";West">

通过使用JSON_AGGjson_build_object的组合来解决此问题

SELECT branch_id, JSON_AGG (json_build_object('employee_id',employee_id,'first_name',first_name,'last_name', last_name)) employees FROM employee_info GROUP BY branch_id

欢迎采用任何其他方法。

最新更新