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
Ms access 如何在Access中找到平均值?_Ms Access_Average_Ms Access 2013 - Fatal编程技术网

Ms access 如何在Access中找到平均值?

Ms access 如何在Access中找到平均值?,ms-access,average,ms-access-2013,Ms Access,Average,Ms Access 2013,我第一次尝试访问,我试图找出如何真正利用访问的惊人力量 有了这些,我想找出每件商品的平均数量,但不知道如何做到这一点。我摆了两张桌子。一个是项目列表(沙子、水等),然后与另一个列出数量和价格的表建立关系 下面是我设置并排序的查询1(我不知道为什么它不是按字母顺序排列的,尽管我按升序排序,但这不是我在这里的原因)。有人能帮我找出如何像查询2中那样平均每个项目的金额吗?最后,我真的希望查询找到MaxAve和MinAve,并在下面的查询3中显示这两个 Query 1 Qu

我第一次尝试访问,我试图找出如何真正利用访问的惊人力量

有了这些,我想找出每件商品的平均数量,但不知道如何做到这一点。我摆了两张桌子。一个是项目列表(沙子、水等),然后与另一个列出数量和价格的表建立关系

下面是我设置并排序的查询1(我不知道为什么它不是按字母顺序排列的,尽管我按升序排序,但这不是我在这里的原因)。有人能帮我找出如何像查询2中那样平均每个项目的金额吗?最后,我真的希望查询找到MaxAve和MinAve,并在下面的查询3中显示这两个

Query 1                Query 2                  Query 3
fldName     fldNum     fldName      fldAve      fldName       fldAve    
Sand        4          Sand         4           Sand          4
Sand        4          Water        3.8         Computer      3.35
Water       3.7        Soda         3.43        
Water       4          Computer     3.35         
Water       3.7        Phone        3.43         
Soda        3.7        Pencil       3.75         
Soda        3.3        
Soda        3.3        
Computer    3.7        
Computer    3          
Phone       3          
Phone       3.3        
Phone       4          
Pencil      4          
Pencil      4          
Pencil      3          

就像我说的,我是个新手,我只是在尝试。如果你建议用另一种方式设置查询,我会非常乐意接受。我学得越多越好。

要获得每个字段名的平均值,只需在查询中执行以下操作:

SELECT FieldName, Avg(FieldNum) as AvgQty
FROM MyTable
GROUP BY FieldName
ORDER BY FieldName
这还将为您对fieldname列进行排序

编辑: 我想你可以按照你在评论中的要求去做,但是你需要一个基于上面的单独的查询。您将需要一个联合查询来执行此操作。比如:

SELECT Top 1 FieldName, AvgQty
FROM Query1
ORDER BY AvgQty ASC

UNION ALL

SELECT Top 1 FieldName, AvgQty
FROM Query1
ORDER BY AvgQty DESC
SELECT Top 1 FieldName, Format(AvgQty, "##.#") as AvgQty1
FROM Query1
ORDER BY AvgQty ASC

UNION ALL

SELECT Top 1 FieldName, Format(AvgQty, "##.#") as AvgQty1
FROM Query1
ORDER BY AvgQty DESC
我只是一时冲动,所以这可能并不完美

至于格式化字段,请在“VBA格式编号”上进行谷歌搜索,您应该能够找到一些示例。我认为这可能会使上面的查询看起来像:

SELECT Top 1 FieldName, AvgQty
FROM Query1
ORDER BY AvgQty ASC

UNION ALL

SELECT Top 1 FieldName, AvgQty
FROM Query1
ORDER BY AvgQty DESC
SELECT Top 1 FieldName, Format(AvgQty, "##.#") as AvgQty1
FROM Query1
ORDER BY AvgQty ASC

UNION ALL

SELECT Top 1 FieldName, Format(AvgQty, "##.#") as AvgQty1
FROM Query1
ORDER BY AvgQty DESC

所以我要做的就是点击总计按钮,然后按Ave总计?那我怎么才能让最高和最低的Ave出现呢?这几乎是完美的。现在,它是按平均值排序的,我们可以格式化它,使它不显示“3.433333…”。此外,是否可以对其进行过滤,使其仅显示最大值和最小值?