postgresql postgres从连接表聚合结果

kmynzznz  于 2023-04-11  发布在  PostgreSQL
关注(0)|答案(1)|浏览(118)

新手Postgres问题。
我有以下表格

玩家:id,name,...
votes:id,player_id,week -即在votes中,每个player_id将有多个记录

我想得到name (from players), vs: week[] (from votes where player_id == players.id)
例如,我想知道每个玩家在哪周投票

select players.name, votes.week
  from public.votes
  join public.players
  ON votes.player_id = players.id

我得到了表中投票结果的数量,但其中包括name的无限重复。我希望每个玩家有一行,并在列表中列出周数
这可能吗?

pkwftd7m

pkwftd7m1#

你可以按球员的名字分组,并使用array_agg来得到一个星期数组:

SELECT   players.name, ARRAY_AGG(votes.week)
FROM     public.votes
JOIN     public.players ON votes.player_id = players.id
GROUP BY playes.name

相关问题