如何在Access中找到平均值?

时间:2015-01-07 06:18:29

标签: ms-access average ms-access-2013

我是第一次尝试使用Access,而我正试图弄清楚如何真正利用Access的惊人功能。

有了这个,我想找到每个项目的平均数量,但不知道该怎么做。我设置了2个表。一个是项目清单(沙子,水等),然后与另一个表格建立关系,列出数量和价格。

下面,查询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          

就像我说的那样,我对Access非常陌生,而我只是在努力解决问题。如果你建议以不同的方式设置查询我真正打开任何东西。我学得越多越好。

1 个答案:

答案 0 :(得分:1)

要获取每个字段名称的平均值,只需在查询中执行此操作:

SELECT FieldName, Avg(FieldNum) as AvgQty
FROM MyTable
GROUP BY FieldName
ORDER BY FieldName

这也将为您排序fieldname列。

修改: 我认为你可以在你的评论中做你要求的,但你需要一个基于上面的单独查询。您需要UNION查询才能执行此操作。类似的东西:

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

UNION ALL

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

我做到了这一点,所以它可能并不完美。

至于格式化字段,请在" VBA格式编号"上进行谷歌搜索。你应该能够找到一些例子。我认为这可能使上述查询看起来像:

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