- Home ›
- SQLite入門 ›
- SQLite関数の使い方 ›
- HERE
count関数
count関数は行数を取得するために使用します。書式は次の通りです。
count(カラム名)
引数にはカラム名または「*」を指定します。カラム名を指定した場合にはカラムに含まれる値の中でNULLのカラムを除いた行数を返します。「*」を指定した場合には行数を返します。GROUP BY句が使われている場合はグループ毎に行われます。
具体的には次のように使用します。
create table customer(id integer, old integer, address text); select count(address) from customer; select count(*) from customer;
最初のSELECT文では「address」カラムに含まれるデータの中で値がNULLではない行数を取得します。2番目のSELECT文では「customer」テーブルに含まれる行数を取得します。
では実際に試してみます。次のようなテーブルを作成しました。
create table user(id integer, name text, address text, gender text);
作成したテーブルには次のようなデータが格納してあります。
それではcount関数を使って「name」カラムと「address」カラムの行数を取得してみます。
select count(name), count(address) from user;
nullは行数にカウントされないため「address」カラムの方が「name」カラムよりも行数が1つ少なくなっています。
続いてテーブル全体の行数を取得します。
select count(*) from user;
テーブルに含まれるデータの行数を取得しました。もし全てのカラムの値がNULLであるデータがあっても他のデータと同じく行数にカウントされます。
最後に「gender」カラム毎にグループ化して行数を取得してみます。
select gender, count(*) from user group by gender;
GROUP BY句を使ってグループ化した場合には、グループ単位で行数をカウントします。
( Written by Tatsuo Ikura )