使用:Access 2003如何查找Access 2003中某個列的平均值?
我有一個包含至少250個數據項的表。我的目標是找到一些列的平均值(例如TotalNumSuverys列的平均值)。像SUM /(survery takers的數量)這樣一個簡單的數學公式將不起作用,因爲取決於具體的列,條目的總數是不同的。
如何才能達到列的平均值?
(我已經嘗試了「平均」聚集在查詢查看,發現其平均的行而不是列。)
是否有任何SQL將允許做一些像「ForEach循環」?
- 我很新,對不起!
使用:Access 2003如何查找Access 2003中某個列的平均值?
我有一個包含至少250個數據項的表。我的目標是找到一些列的平均值(例如TotalNumSuverys列的平均值)。像SUM /(survery takers的數量)這樣一個簡單的數學公式將不起作用,因爲取決於具體的列,條目的總數是不同的。
如何才能達到列的平均值?
(我已經嘗試了「平均」聚集在查詢查看,發現其平均的行而不是列。)
是否有任何SQL將允許做一些像「ForEach循環」?
- 我很新,對不起!
Avg()
函數僅給出列中非空值的平均值(算術平均值)。或者,在您的示例中,將從「SUM」和「survery採訪者數量」中排除空值。
訪問的查詢設計器可能會引起混淆(最好我記得)。也許會更有意義給你,如果你使用這種模式切換到SQL視圖,然後鍵入一個例子聲明...
SELECT Avg(MyColumn) AS AvgOfMyColumn
FROM MyTable;
...替代MyColumn的列名,併爲您的MyTable的表名。然後運行查詢(數據表視圖)以查看它提供了什麼。然後,您可以切換回設計視圖以查看它在那裏的顯示方式。
其他集合函數,不僅僅是Avg()
,也忽略空值。例如,Count(MyColumn)
會爲您提供MyColumn不爲空的行數。 [如果您想要統計所有行,而不管任何單個列是否包含空值,請使用Count(*)
]並且Sum(MyColumn)
將僅添加非空MyColumn值。
如果由於某種原因,Avg()
不爲你工作,你可以使用基本的方法:
Dim rSet As DAO.Recordset, cnt As Integer, sum As Integer, avg As Variant
rSet = CurrentDb.OpenRecordset ("Select Sum(MyColumn), Count(MyKey) from MyTable")
sum = rSet.Fiels(0)
cnt = rSet.Fiels(1)
avg = sum/cnt
MsgBox "The average is " & avg
'SELECT AVG(t.ANumber)AS AvgOfANumber 從表t'給出了列的平均, 一個號碼。你想要什麼?請包含示例數據。 – Fionnuala 2012-02-27 21:29:03