我正在尝试编写一个查询,该查询将使用 sum 函数将 1 列中的所有值相加,然后除以另一个表中的元组数。出于某种原因,当我自己运行总和查询时,我得到了正确的数字,但是当我在查询中使用它时,值是错误的。
这就是我试图做的,但数字是错误的。
select (sum(adonated) / count(p.pid)) as "Amount donated per Child"
from tsponsors s, player p;
我发现问题在于总和。下面返回 650,000 当它应该返回 25000
select (sum(adonated)) as "Amount donated per Child"
from tsponsors s, player p;
如果我从玩家 p 中移除它,它会得到正确的数量。但是我需要玩家表来获取玩家数量。
我有 3 个与此查询相关的表。player(pid, tid(fk)) team(tid) tsponsors(tid(fk), adonated, sid(fk)) 这是一个连接表
我想要得到的是捐赠给每个团队的所有金额的总和(捐赠),然后将其除以数据库计数(pid)中的玩家数量。