SQLite:如何从左连接返回零计数?
我有两张表:球员(id,姓名)和进球(id,球员id)。我想返回所有球员的名单,以及他们的进球数,即使他们没有进球。我试过:SQLite:如何从左连接返回零计数?,sql,sqlite,count,left-join,Sql,Sqlite,Count,Left Join,我有两张表:球员(id,姓名)和进球(id,球员id)。我想返回所有球员的名单,以及他们的进球数,即使他们没有进球。我试过: 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; 但问题
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;
但问题是它只会让一名球员零进球,我不知道为什么。我知道这与分组条款有关。肯定有很多球员没有进球 您是按整个表进行分组,而不是按播放器表中唯一的单个字段(例如
player.name
)进行分组。您是按整个表进行分组,而不是按播放器表中唯一的单个字段(例如player.name
)进行分组。您需要按player.name
进行分组。我很惊讶您没有收到一个错误,player
不是定义的列。您需要按player.name
分组。我很惊讶你没有得到一个错误,即player
不是一个定义的列。最后它看起来总是那么明显。谢谢。最后看起来总是那么明显。谢谢。既然你提到了,我不明白为什么没有错误。但是谢谢玩家分组。名字修复了它。既然你提到了它,我不明白为什么没有错误。但是谢谢玩家分组。名字修正了它。