我有一个 SQL 查询,它执行 GROUP BY 将包含相同 Player_id 但不相同 Game_id 的所有行合并在一起:
SELECT p.Player_id,
p.Name,
p.Position,
SUM(s.Goals) AS goalsb,
SUM(s.Assists) AS assistsb,
SUM(s.Points) AS pointsb
FROM Dim_Player AS p
INNER JOIN Fact_Statistics AS s ON s.Player_id = p.Player_id
GROUP BY p.Player_id, p.Name, p.Position
ORDER BY pointsb DESC, goalsb DESC
我想要做的是每次 GROUP BY 将一行与另一行合并以创建一个名为“玩过的游戏”的新列时植入一个 COUNT。例子:
Player_id Game_id goalsb
8470598 465 1
8470598 435 1
这将与上面的 SQL 查询组合在一起,成为:
Player_id goalsb
8470598 2
但我想要这个:
Player_id goalsb Games_played
8470598 2 2
如果你有重复的Game_id
的并且您想计算不同的值,您可以添加
COUNT (DISTINCT Game_id)
条款给你的SELECT
陈述。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)