概述
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 |
