MySQL – 集約関数

概要

集約関数(aggregate functions)は、テーブルの全レコードまたはグループ化されたグループごとの集約値を返す。

COUNT 指定したカラムがNULL以外の行数
MIN 指定したカラムの最小値(NULLの行は含めない)
MAX 指定したカラムの最大値(NULLの行は含めない)
SUM 指定したカラムの合計値(NULLの行は含めない)
AVG 指定したカラムの平均値(NULLの行は含めない)

実行例

以下のテーブルを使う。

COUNT~個数

CONT()は引数に指定した列のうちNULL以外の個数を数える。

以下の例ではCOUNT(subject)はレコード数と同じ6となるが、COUNT(score)NULLが対象とならないため5となっている。

MIN/MAX~最小値・最大値

MIN()は引数にした列のうち最小の値を返し、MAX()は最大の値を返す。NULLは対象に含まれない。

以下の例では列としてscoreを指定し、最小値と最大値が得られている。

なおMIN()/MAX()sucjectを渡すと、文字列の照合順序に従って大小関係が判定される。

SUM~合計

SUM()は引数の合計を返す。NULLは無視される。

以下の例では6つのレコードのscoreのうちNULLを除いた5つの合計が得られている。

なお文字列データの列を引数に与えるとSUM()は0を返す。

AVG~平均値

AVG()は引数の列データの平均値を返す。NULLは無視されるため、割る数からものぞかれる。

以下の例では6つのscoreのうち1つがNULLのため、平均値は410/5で計算される。

文字列型の列を引数に指定すると、結果は0となる。

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です