概述
avg函式是類型 和默認你要計算的所定義的欄位類型函式有關如下。
declare @num1 real,@num2 real ,@sum real
set @num1=12.9
set @num2=13.4
set @sum=(@num1+@num2)/2
print @sum
結果 13.15
如果定義單精度和int類型
declare @num1 real,@num2 real ,@sum int
set @num1=12.9
set @num2=13.4
set @sum=(@num1+@num2)/2
print @sum
顯示為 14
語法
Avg(expr)
其中 expr 代表一個字元串表達式,它或者標識一個欄位,該欄位包含要計算平均值的數據;或者標識一個表達式,它用該欄位中的數據來執行計算。 expr中的運算對象可能包括一個表欄位名,一個常數或一個函式(可能是內在的,也可能是用戶自定義的,但不是 SQL 合計函式)。
說明
使用 Avg 計算的平均值是算術平均值(將全部值的總和除以值的數目)。例如,可以使用 Avg 計算貨運的平均費用。
Avg 函式在計算中不計任何 Null 欄位。
你可以把 Min 和 Max 用於詢問表達式和具備 SQL 特性的 QueryDef 對象中或在創建基於 SQL 查詢的 Recordset 對象時。
請參閱
在 SQL 函式中計算欄位 SQL 合計函式(SQL)
示例
Avg 函式示例
我們擁有下面這個 "Orders" 表:
O_Id |
OrderDate |
OrderPrice |
Customer |
1 |
2008/12/29 |
1000 |
Bush |
2 |
2008/11/23 |
1600 |
Carter |
3 |
2008/10/05 |
700 |
Bush |
4 |
2008/09/28 |
300 |
Bush |
5 |
2008/08/06 |
2000 |
Adams |
6 |
2008/07/21 |
100 |
Carter |
例子 1
現在,我們希望計算 "OrderPrice" 欄位的平均值。
我們使用如下 SQL 語句:
SELECT AVG(OrderPrice) AS OrderAverage FROM Orders結果集類似這樣:
OrderAverage |
950 |
例子 2
現在,我們希望找到 OrderPrice 值高於 OrderPrice 平均值的客戶。
我們使用如下 SQL 語句:
SELECT Customer FROM Orders
WHERE OrderPrice>(SELECT AVG(OrderPrice) FROM Orders)結果集類似這樣:
Customer |
Bush |
Carter |
Adams |