SQL指令語法速查手冊(十)

函數語法

彙總函數

AVG

語法
AVG <數值式>

範例
SELECT AVG(price) FROM store;

COUNT

語法
COUNT 欄位

說明
COUNT函數是用來計算指定的欄位中值有多少列的函數,COUNT會計算欄位內非NULL的列數。但是,單純的想要計算所有的列數情況下,要透過「*」指定。在指定「*」的情況下,會將NULL值的列也計算進去。
COUNT中可以指定的指令有ALL與DISTINCT兩種。沒有設定特定指令的話,預設會使用ALL。如果指定DISTNCT的話,在指定欄位中重複的值就只會被計算一次。也就是說可以用來計算多少不同的值。

範例
取得所有的列數目
SELECT COUNT(*) FROM store;

取得有幾種不同的分類
SELECT COUNT(DISTINCT class) FROM store;

MAX

語法
MAX <數值式>

說明
取得指定欄位中最大值。

範例
取得price欄位的最大值
SELECT MAX(price) FROM store;

計算各群組的最大值
SELECT class,MAX(price) FROM store GROUP BY class;

MIN

語法
MIN <數值式>

範例
SELECT MIN(price) FROM store;

SELECT class,MIN(price) FROM store GROUP BY class;

STDDEV

語法
STDDEV <數值式>

說明
STDDEV函數式用來求引數中指定的<數值式>標準差的函數。但是使用者要注意,在PostgreSQL、Oracle式回傳標準差,而MySQL則是回傳母體標準差。

範例
STDDEV函數計算標準差
SELECT STDDEV(price) FROM store;

計算各個群組的標準差
SELECT class,STDDEV(price) FROM store GROUP BY class;

SUM

語法:
SUM <數值式>

說明:
SUM函數是用來求取數值式的總和的函數,SUM會計算在引數內<數值式>中指定數值欄位的總和並回傳。在SUM中也可以指定ALL以及DISTINCT指令。指定DISTINCT的話,在指定的數值欄位中如果有相同的值情況下,只會計算第一個出現的計算對象。ALL的話則會計算所有的值。

範例:
SELECT SUM(price) FROM store;

SELECT class,SUM(price) FROM store GROUP BY class;

VARIANCE  變異數

語法:
VARINCE <數值式>
求指定數值的變異數值。

字串函數

ASCII

語法:
ASCII <字串>

說明:
ASCII函數是用來將指定文字轉為ASCII碼,並傳回ASCII碼的函數。在指定多個字串的情況下,會傳回開頭第一個ASCII碼。

範例:
SELECT name,ASCII(name) FROM store;

CHAR

語法:
CHAR <數值式>

說明:
CHAR函數是用來將引數中指定的ASCII碼轉回對應字元的函數。

範例:
SELECT CHAR(99),CHAR(100),CHAR(101);