統計函數是在數據庫操作中時常使用的函數,又稱為基本函數或集函數,常用的統計函數如表4-6 所示.
這些函數通常用在select 子句中,作為結果數據集的字段返回的結果。在select語句的select 子句中使用函數的語法如下:
select 函數名(列名1 或*),...函數名(列名n)
from 表名
提醒:函數的對象或自變量必須包括在圓括號內。如果函數需要一個以上的自變量,可用逗號隔開各個自變量。
1、avg()
avg() 函數返回有關列值的算術平均值。此函數只適用數值型的列。其語法如下:
例4-26: 求各部門的平均工資
運行結果如下:
2、count()
count() 函數返回與選擇表達式匹配的列中不為null 值的數據個數。count()函數的語法如下:
例4-27: 計算企業的部門數目
提醒:如果用count()函數引用一個列名,則返回列值的個數。
count() 函數在計算中重復計算了相同的值。如果使用了關鍵字distinct, 則count() 函數就返回行惟一值的個數。
如果在select 子句的列名位置上使用符號(*), 即使用count (*), 則指定了與select 語句的判別式匹配的所有行,count()函數將計算字段的行數,包括為null值的行。
例4-28: 列出員工少于3 人的部門編號

3、max()
max() 函數返回某一列的最大值。此函數適用于數值型、字符型、和日期型的列。對于列值為null 的列,max() 函數不將其列為對比的對象。其語法如下:
例4-29: 求工資最高的員工姓名
4、min()
min() 函數返回某一列的最小值。此函數適用于數值型、字符型、和日期型的列。對于列值為null 的列,min() 函數不將其列為對比的對象。其語法如下:
例4-30: 求最資深的員工姓名

5、sum()
sum() 函數用來返回諸如列值這樣的實體的總和。此函數只適用于數值型的列,不包括null 值。其語法如下:
例4-31: 求各部門的員工工資總額
可以在一個語句中使用多個函數。
例4-32: 求員工工資的最大值、最小值、平均值

除了上述常用的函數外,統計函數還有以下幾種:
6、stdev()
stdev() 函數語法如下:
stdev() 函數返回表達式中所有數據的標準差(statistical standard deviation)。表達式通常為表的某一數據類型為numeric 的列(或近似numeric 類型的列,如money 類型,但bit 類型除外)。表達式中的null 值將被忽略。其返回值為float類型。
7、stdevp()
stdevp() 函數語法如下:
stdevp() 函數返回總體標準差(statistical standard deviation for the population)。表達式及返回值類型同stdev() 函數。
8、var()
var() 函數語法如下:
var() 函數返回表達式中所有值的統計變異數(statistical variance)。 表達式及返回值類型同stdev() 函數。
9、varp()
varp() 函數語法如下:
varp() 函數返回總體變異數(statistical variance for the population)。 表達式及返回值類型同stdev() 函數。
新聞熱點
疑難解答