我最近开始使用SQL,并且在将其应用于Access时遇到困难。我之前的经验(有限)一直是PostgreSQL,我明白Microsoft Access中的SQL要求您将查询嵌套到我不熟悉的子查询中。
我相信SQL中的代码(不是用于访问的代码看起来像这样......)
select weeks, sum(sweets_eaten), count(distinct (sweet))
from table
group by weeks;
然后这会给我一张桌子,我会有一个独特的星期,每周食用的甜食总数和每周的甜食数量。
理想情况下,查询会做的是告诉我每周吃的平均甜食,将每周食用的甜食除以甜食数量。
有没有人知道如何编写查询,以便在Microsoft Access中使用?
谢谢!
已编辑的代码,这就是我要输入的内容
select f15, sum(f16), count(*)
from (select f15, sum(f16) as sum_sweets_eaten
from table1
group by f15, f16
) as t
group by f15;
对于平均值,除了总和之外,是否可以这样做。
答案 0 :(得分:2)
您编写的查询在MS Access中无效,因为它不支持count(distinct)
。
您可以预先聚合以获得所需的结果:
select weeks, sum(sum_sweets_eaten), count(*)
from (select weeks, sum(sweets_eaten) as sum_sweets_eaten
from table
group by weeks, sweet
) as t
group by weeks;
要获得平均值,请使用avg()
而不是sum()
。