我有两个表:Person和events
我想按person.id加入表,但不希望查询返回每个事件的记录。相反,我希望它返回一个每个人都有许多事件附加到它的记录。这可能吗?
例如,我得到:
["person_id" : "1", "eventid" :"1"]
["person_id" : "1", "eventid" :"2"]
["person_id" : "1", "eventid" :"3"]
但我想要的是
["person_id" : "1", ["eventid" :"1", "eventid" :"2", "eventid" :"3"]]
最佳答案
select person.id, array_agg(eventid)
from person
inner join events
on person.id = events.person_id
group by person_id
关于sql - 在“一个”表中一对多加入并按ID分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30403564/