如何解决在Access 2016查询中按组求和
我正在尝试对其进行调整,以求汇总每个场地的跑步总数。我提出了以下查询,但是有两个问题:
-
它不是按地点求和,而是所有运行的求和;
-
运行时间很长。
有人可以看到我在做什么吗?
谢谢
SELECT scorecardBatting.matchId,scorecardBatting.battingTeam,scorecardBatting.inningsNo,scorecardBatting.batsmanId,scorecardBatting.howdismissed,scorecardBatting.runs,scorecardBatting.ballsFaced,Matches.venue,(SELECT SUM(runs) FROM scorecardBatting WHERE Matches.venue=Matches.venue) AS TOTAL
FROM Matches INNER JOIN scorecardBatting ON Matches.matchId = scorecardBatting.matchId
GROUP BY scorecardBatting.matchId,Matches.venue;
解决方法
如果您想要每个场所的跑步总数,那么一个简单的聚合查询就可以满足您的要求:
SELECT Matches.venue,SUM(runs) AS TOTAL
FROM Matches INNER JOIN
ScorecardBatting
ON Matches.matchId = ScorecardBatting.matchId
GROUP BY Matches.venue;
如果您希望在原始查询中使用此功能,可以将其加入:
select . . .,t.total
from Matches inner join
ScorecardBatting
on Matches.matchId = ScorecardBatting.matchId join
(select Matches.venue,sum(runs) AS TOTAL
from Matches INNER JOIN
ScorecardBatting
on Matches.matchId = ScorecardBatting.matchId
group by Matches.venue
) t
on t.venue = matches.venue;
我认为您的查询不需要group by
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。