MAX関数/MIN関数(指定したカラムに格納されている値の最大値または最小値を取得する)

MySQL では MAX 関数を使用することで引数に指定したカラムに格納されている値の最大値を取得することができます。また MIN 関数を使用することで引数に指定したカラムに格納されている値の最小値を取得することができます。ここでは MySQL における MAX 関数および MIN 関数の使い方について解説します。

(Last modified: )

MAX関数およびMIN関数の使い方

MAX 関数は引数に指定したカラムに格納されている値の最大値を取得するために使用します。また MIN 関数は引数に指定したカラムに格納されている値の最小値を取得するために使用します。書式は次の通りです。

MAX([DISTINCT] expr)
MIN([DISTINCT] expr)

最大値または最小値を取得するカラム名( expr )を引数で指定してください。

DISTINCT をつけると、重複した行を除外したあとで最大値または最小値を得ることができますが、結果的には付けても付けなくても同じになります。

-- --

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

create table salesnote (productname varchar(10), sales int);

MySQL/MAX 関数の使い方(1)

テーブルには次のようなデータを格納しました。

insert into salesnote values ('Desk', 320);
insert into salesnote values ('Chair', 410);
insert into salesnote values ('Desk', 280);
insert into salesnote values ('Desk', 400);
insert into salesnote values ('Chair', 450);
insert into salesnote values ('Chair', 380);

MySQL/MAX 関数の使い方(2)

それでは sales カラムに格納されている値の最大値および最小値を取得します。次のように実行してください。

select max(sales), min(sales) from salesnote;

MySQL/MAX 関数の使い方(3)

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

次に GROUP BY 句を使って productname カラムの値を対象としてグループ化を行い、グループ毎に sales カラムに格納されている値の最大値および最小値を取得します。次のように実行してください。

select productname, max(sales), min(sales) from salesnote group by productname;

MySQL/MAX 関数の使い方(4)

グループ毎に sales カラムの最大値および最小値を取得することができました。

※ GROUP BY句については「データをグループ化する(GROUP BY句)」を参照されてください。

-- --

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

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

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