Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Access SQL中的嵌套查询_Sql_Ms Access - Fatal编程技术网

Access SQL中的嵌套查询

Access SQL中的嵌套查询,sql,ms-access,Sql,Ms Access,我最近开始使用SQL,在将其应用于Access时遇到了麻烦。我以前在PostgreSQL方面的经验有限,我知道Microsoft Access中的SQL要求您将查询嵌套到子查询中,我对此不熟悉 我相信SQL中不用于访问的代码会是这样的 select weeks, sum(sweets_eaten), count(distinct (sweet)) from table group by weeks; 这会给我一张桌子,在那里我会有独特的星期,每周吃的糖果的总数和每周糖果的数量 理想情况下,查询

我最近开始使用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;

对于平均值,是否可以在求和的基础上执行此操作。

您编写的查询在MS Access中不起作用,因为它不支持countdistinct

您可以预聚合以获得所需的结果:

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。

您编写的查询在MS Access中不起作用,因为它不支持countdistinct

您可以预聚合以获得所需的结果:

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。

distinct不是一个函数,您可以删除那些多余的括号。也就是说,简单地说,甜食是什么?是什么让你认为你需要使用DISTINCT来计算你吃了多少?我改变了桌子的名称,感觉饿了,所以我想到糖果DISTINCT不是一个函数,你可以去掉那些多余的括号。也就是说,简单地说,甜食是什么?是什么让你认为你需要计算你吃了多少?我改变了桌子的名称,感觉饿了,所以当我运行它时,它让我输入一个f16 sum sweets_Eated的参数。这是我输入到查询工具select f15,sumf16,count*from select f15中的代码,sumf16作为表1 group by f15中的sum,f16作为t group by f15中的sum@甘道夫。我不知道你的评论与你最初的问题或我对它的回答有什么关系。如果您还有其他问题,请将其作为新问题提问,而不是对现有问题进行编辑,也不要在评论中提问。当我运行它时,它会要求我输入f16 sum sweets_的参数。这是我输入到查询工具select f15,sumf16,count*from select f15中的代码,sumf16作为表1 group by f15中的sum,f16作为t group by f15中的sum@甘道夫。我不知道你的评论与你最初的问题或我对它的回答有什么关系。如果您还有其他问题,请将其作为新问题提问,而不是对现有问题进行编辑,也不要在评论中提问。