2016-11-10 49 views
0

我有兩個表:玩家(ID,姓名)和目標(ID,player_id)。我想要返回所有球員的列表以及他們與他們相關的目標數量,即使他們沒有與他們相關的目標。我曾嘗試過:SQLite:如何從左連接返回零計數?

SELECT player.name AS player_name, 
     COUNT(goal.id) AS goals 
    FROM player 
     LEFT JOIN goal 
     ON player.id = goal.player_id 
GROUP BY player 
ORDER BY goals DESC; 

但問題是,它只返回一個球員與零目標,我不明白爲什麼。我知道這與GROUP BY子句有關。肯定有很多球員沒有目標。

回答

3

你被整個表格的球員表,它是唯一的(如player.name也許)分組,而不是單一的領域。

+0

它似乎總是在最後那麼明顯。謝謝。 –

2

您可以通過player.name需要組。我很驚訝你沒有得到一個錯誤,player不是一個定義的列。

+0

現在你提到它,我不明白爲什麼沒有錯誤。不過感謝player.name的分組修復了它。 –