指定したカラムに含まれる値の最大値と最小値を取得(max関数, min関数)

max 関数を使うと指定したカラムに含まれる最大値を取得することができます。また min 関数を使うと指定したカラムに含まれる最小値を取得することができます。ここでは SQLite における max 関数および min 関数の使い方について解説します。

(Last modified: )

max関数およびmin関数の使い方

max 関数は値の最大値を取得するために使用します。書式は次の通りです。

max(カラム名)

引数に指定したカラムに含まれている値の中で最大の値を返します。 GROUP BY 句が使われている場合はグループ毎に最大の値を返します。

min 関数は値の最小値を取得するために使用します。書式は次の通りです。

min(カラム名)

引数に指定したカラムに含まれている値の中で NULL の値を除いた最小の値を返します。 GROUP BY 句が使われている場合はグループ毎に最小の値を返します。

どちらの関数も対象のカラムに NULL しか含まれていなかった場合は NULL を返します。

-- --

それでは実際に試してみます。次のようなテーブルを作成しました。

create table user(name text, point integer, gender text);

avg関数の使い方(1)

INSERT 文を使って次のようなデータを格納してあります。

insert into user values('Yamada', 72, 'Man');
insert into user values('Suzuki', 94, 'Woman');
insert into user values('Honda', 58, 'Woman');
insert into user values('Nishi', 82, 'Man');

avg関数の使い方(2)

それでは max 関数と min 関数を使って point カラムの値の最大値と最小値を取得してみます。

select max(point), min(point) from user;

avg関数の使い方(3)

カラムに入っている値の最大値および最小値を取得することができました。

次に gender カラム毎にグループ化して最大値と最小値を取得してみます。

select gender, max(point), min(point) from user group by gender;

avg関数の使い方(4)

GROUP BY 句を使ってグループ化した場合には、グループ単位で平均を計算します。最大値と最小値をグループ毎に取得することができました。( Group By 句については「データをグループ化して合計や平均を計算(GROUP BY句, HAVING句)」を参照してください)。

-- --

max 関数および min 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。