COUNT関数 (指定したカラムの行数を取得する)

MySQL では COUNT 関数を使用することで引数に指定したカラムの行数を取得することができます。ここでは MySQL における COUNT 関数の使い方について解説します。

(Last modified: )

COUNT 関数の使い方

COUNT 関数は引数に指定したカラムの NULL を除いた行数を取得するために使用します。書式は次の通りです。

COUNT(expr)

行数を取得するカラム名を引数で指定してください。引数に * を指定すると NULL かどうかに関係なく行数を取得することができます。

また DISTINCT をつけると、重複した行を除外したあとの行数を取得することができます。

COUNT(DISTINCT expr,[expr...])

-- --

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

create table pointnote (classname varchar(10), name varchar(10), point int);

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

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

insert into pointnote values ('A', 'Yamada', 72);
insert into pointnote values ('A', 'Suzuki', 82);
insert into pointnote values ('B', 'Togawa', 76);
insert into pointnote values ('A', 'Honda', 90);
insert into pointnote values ('B', NULL, 68);
insert into pointnote values ('B', 'Nishi', 82);
insert into pointnote values ('A', 'Suzuki', NULL);

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

最初に classname カラム、 name カラム、 point カラムの行数(格納されている値が NULL のデータを除く)を取得します。次のように実行してください。

select count(classname), count(name), count(point) from pointnote;

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

次に格納されている値が NULL かどうか関係なくデータの行数を取得します。次のように実行してください。

select count(*) from pointnote;

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

次に重複した値を除外して classname カラム、 name カラム、 point カラムの行数(格納されている値が NULL のデータを除く)を取得します。次のように実行してください。

select count(distinct classname), count(distinct name), count(distinct point) from pointnote;

MySQL/COUNT 関数の使い方(5)

-- --

count 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

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