2017-10-21 47 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