2017-10-21 45 views
0

我会概述我的目标:PostgreSQL - 如何获得与外键的数据聚合?

我有用户,他们是体育联盟中的球员。

我有一个运动季节称为“季节”的表。

我有一张桌子上有游戏,里面有各种各样的属性,比如游戏结束等等,同时也保存season_id。

我有一张“统计线”表,其中包含相关游戏的外键。为了简单起见,我们假设stat_lines表只包含目标,助攻,game_id,season_id和user_id。因此,可以说Sidney Crosby是id = 1的用户,并且拥有目标= 2,助攻= 3,game_id = 4,season_id = 1和user_id = 1的数据行。

我想到底是季节由季节总数为每个玩家:

球员 赛季 目标 助攻 点

1(克罗斯) - 第1季 - 10 - 12 - 22

1(克罗斯比) - 赛季2 - 10 - 10 - 20

2(贝瑞隆) - 赛季10 - 4 - 4

我不知道如何做到这一点。

这感觉就像我需要做两个GROUP BY调用,但我不知道如何去做。

回答

1

是不是只是

SELECT user_id, season_id, sum(goals), sum(assists), sum(goals) + sum(assists) 
FROM stat_lines 
GROUP BY user_id, season_id 
ORDER BY user_id, season_id; 

+0

Jeeze。谢谢。我很明显是SQL新手。我习惯于Ruby on Rails,它抽象SQL,但我期望通过数据库视图提高效率。再次感谢你,我很感激。当计时器允许时,我将确保将您的答案标记为正确。 – JGrishey