指定したカラムまたはテーブル全体の行数をカウント(count関数)

広告
eyecatch

count 関数を使うと指定したカラムまたはテーブルに含まれるデータの行数をカウントすることができます。ここでは count 関数の使い方について解説します。

count関数の使い方

count関数は行数を取得するために使用します。書式は次の通りです。

count(カラム名)

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

-- --

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

create table user(id integer, name text, address text, gender text);

count関数の使い方(1)

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

insert into user values(1, 'Honda', 'Tokyo', 'Man');
insert into user values(2, 'Suzuki', 'Nagoya', 'Woman');
insert into user values(3, 'Kojima', 'Kyoto', 'Man');
insert into user values(4, 'Utada', NULL, 'Man');
insert into user values(5, 'Sakai', 'Tokyo', 'Woman');

count関数の使い方(2)

それでは count 関数を使って name カラムと address カラムの行数を取得してみます。

select count(name), count(address) from user;

count関数の使い方(3)

address カラムには NULL が入ったデータは1つあり行数にカウントされないため name カラムのほうが行数が 1 つ多くなっています。

続いてテーブル全体の行数を取得します。

select count(*) from user;

count関数の使い方(4)

テーブルに含まれるデータの行数を取得しました。もし全てのカラムの値が NULL であるデータがあっても他のデータと同じく行数にカウントされます。

最後に gender カラム毎にグループ化して行数を取得してみます。

select gender, count(*) from user group by gender;

count関数の使い方(5)

GROUP BY 句を使ってグループ化した場合には、グループ単位で行数をカウントします。( Group By 句については「データをグループ化して合計や平均を計算(GROUP BY句, HAVING句)」を参照してください)。

-- --

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

SQLite入門の他の記事を見てみる

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。