如何合并两种EventType的COUNT结果,统计球员总事件数?
解决方案
直接修改你的SQL查询即可,核心是调整分组逻辑和返回字段:
SELECT TOP(20) [MatchEvents].[PlayerID], COUNT([MatchEvents].[ID]) AS [Total] FROM [MatchEvents] INNER JOIN [Match] ON [MatchEvents].[MatchID] = [Match].[ID] AND [Match].[Season] = 1 WHERE ([MatchEvents].[EventType] = 0 OR [MatchEvents].[EventType] = 1) GROUP BY [MatchEvents].[PlayerID] ORDER BY [Total] DESC
修改说明:
- 移除SELECT子句中的
[MatchEvents].[EventType],因为不需要再按事件类型拆分结果 - 将GROUP BY的分组字段简化为仅
[MatchEvents].[PlayerID],数据库会自动累加同一球员下所有符合条件的事件数量 - 修正了ORDER BY的拼写错误(原
ESC改为DESC,表示按总数降序排序)
执行该查询后,就能得到每个球员的两种事件类型总计数。
内容的提问来源于stack exchange,提问作者dodo
相关产品推荐
相关产品推荐

