6.14. 集約関数

集約関数は複数の入力値から単一の結果を計算します。 Table 6-33 に、埋め込み集約関数を示します。集約関数の特殊な構文に関する考察は Section 1.2.5 で説明されています。 その他の入門的な情報については、PostgreSQL 7.3 チュートリアルを参照してください。

Table 6-33. 集約関数

関数引数のデータ型返り値型説明 
avg(expression) smallintintegerbigintrealdouble precisionnumeric、もしくは interval データ型 integer 型引数であればすべて numeric、浮動小数点の引数であれば double precision、それ以外は引数のデータ型と同じ すべての入力値の平均値 (算術平均) 
count(*) bigint入力値の数値 
count(expression)anybigint expression の値が NULL でない入力値の個数  
max(expression)すべての数値、文字列、日付/時刻データ型引数の型と同じ すべての入力値間での expression の最大値  
min(expression)すべての数値、文字列、日付/時刻データ型引数の型と同じ すべての入力値間での expression の最小値  
stddev(expression) smallintintegerbigintrealdouble precision、もしくは numeric データ型 浮動小数点の引数であれば double precision、それ以外は numeric 入力値の標準偏差標本 
sum(expression) smallintintegerbigintrealdouble precisionnumeric、もしくは interval データ型 smallint または integer 型の引数であれば bigintbigint 型の引数であれば numeric、浮動小数点の引数であれば double precision、それ以外は引数のデータ型と同じ すべての入力値に渡って expression の和 
variance(expression) smallintintegerbigintrealdouble precision、もしくは numeric データ型 浮動小数点の引数であれば double precision、それ以外は numeric 入力値の分散標本 (標準偏差標本の自乗) 

上記の関数は、count 関数を除き、1 行も選択されなかった場合 NULL 値を返すことに注意してください。 特に、行の選択がない sum 関数は、ゼロではなく NULL を返します。 必要であれば、NULL をゼロと交換する目的で COALESCE 関数を使うことできます。