6.14. 集約関数
集約関数は複数の入力値から単一の結果を計算します。 Table 6-33 に、埋め込み集約関数を示します。集約関数の特殊な構文に関する考察は Section 1.2.5 で説明されています。 その他の入門的な情報については、PostgreSQL チュートリアルを参照してください。
Table 6-33. 集約関数
| 関数 | 引数のデータ型 | 返り値型 | 説明 | |
|---|
|
avg(expression)
| smallint、integer、bigint、real、double precision、numeric、もしくは interval データ型
| integer 型引数であればすべて numeric、浮動小数点の引数であれば double precision、それ以外は引数のデータ型と同じ
| すべての入力値の平均値 (算術平均) | |
| count(*) | | bigint | 入力値の数値 | |
| count(expression) | any | bigint | expression の値が NULL でない入力値の個数
| |
| max(expression) | すべての数値、文字列、日付/時刻データ型 | 引数の型と同じ | すべての入力値間での expression の最大値
| |
| min(expression) | すべての数値、文字列、日付/時刻データ型 | 引数の型と同じ | すべての入力値間での expression の最小値
| |
|
stddev(expression)
| smallint、integer、bigint、real、double precision、もしくは numeric データ型
| 浮動小数点の引数であれば double precision、それ以外は numeric
| 入力値の標準偏差標本 | |
| sum(expression) | smallint、integer、bigint、real、double precision、numeric、もしくは interval データ型
| smallint または integer 型の引数であれば bigint、bigint 型の引数であれば numeric、浮動小数点の引数であれば double precision、それ以外は引数のデータ型と同じ
| すべての入力値に渡って expression の和 | |
|
variance(expression)
| smallint、integer、bigint、real、double precision、もしくは numeric データ型
| 浮動小数点の引数であれば double precision、それ以外は numeric
| 入力値の分散標本 (標準偏差標本の自乗) | |
上記の関数は、count 関数を除き、1 行も選択されなかった場合 NULL 値を返すことに注意してください。 特に、行の選択がない sum 関数は、ゼロではなく NULL を返します。 必要であれば、NULL をゼロと交換する目的で COALESCE 関数を使うことできます。