- Home ›
- SQLite入門 ›
- SQLite関数の使い方
指定したカラムまたはテーブル全体の行数をカウント(count関数)
count 関数を使うと指定したカラムまたはテーブルに含まれるデータの行数をカウントすることができます。ここでは SQLite における count 関数の使い方について解説します。
(Last modified: )
目次
count関数の使い方
count関数は行数を取得するために使用します。書式は次の通りです。
count(カラム名)
引数にはカラム名または * を指定します。カラム名を指定した場合にはカラムに含まれる値の中で NULL のデータを除いた行数を返します。 * を指定した場合にはテーブルの行数を返します。 GROUP BY 句が使われている場合はグループ毎に行われます。
-- --
それでは実際に試してみます。次のようなテーブルを作成しました。
create table user(id integer, name text, address text, gender text);
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 関数を使って name カラムと address カラムの行数を取得してみます。
select count(name), count(address) from user;
address カラムには NULL が入ったデータは1つあり行数にカウントされないため name カラムのほうが行数が 1 つ多くなっています。
続いてテーブル全体の行数を取得します。
select count(*) from user;
テーブルに含まれるデータの行数を取得しました。もし全てのカラムの値が NULL であるデータがあっても他のデータと同じく行数にカウントされます。
最後に gender カラム毎にグループ化して行数を取得してみます。
select gender, count(*) from user group by gender;
GROUP BY 句を使ってグループ化した場合には、グループ単位で行数をカウントします。( Group By 句については「データをグループ化して合計や平均を計算(GROUP BY句, HAVING句)」を参照してください)。
-- --
count 関数の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。