【发布时间】:2022-01-03 23:53:03
【问题描述】:
我有一个体育数据库,其中包含球员表,然后是进球和点球表。每个进球都有一个得分手 (player_id)、time_scored、时期、比赛等。点球(和其他统计数据)也是如此。
现在我想在数据网格中显示我的数据。这是一个可以过滤和排序的玩家表。将列出球员的统计数据(进球数、罚球时间总和等)。
我目前正在这样做,我选择了所有玩家 数据库,然后在 C# 中对它们进行迭代,并为每个运行查询来计算他们的目标(COUNT 个目标 WHERE player_id = p.id)、处罚等。
我想知道,GROUP BY 语句会更快吗?它是如何实施的?因此,我将对球员进行分组,并为每个选择的目标计数等等。还是有更好的办法?
【问题讨论】:
-
能否提供支持数据/示例?
-
因此,如果您有 100 名玩家,您将在数据库中增加 5-600 个查询的负担?要获取可以通过单个查询获得的数据?
-
那我该怎么做呢?加入所有表格?那么行数不会太多吗?如果我有 10 000 名玩家和 1 000 000 个统计数据?
-
为什么会有太多行?如果您有 10 000 名玩家,您将不得不考虑如何呈现数据,无论您如何从数据库中获取数据
-
我想我会在每个统计数据上做 COUNT* GROUP BY player_id 并且这些表加入到玩家表中
标签: sql