- Home ›
- MySQLの使い方 ›
- MySQL関数の使い方 ›
- HERE
COUNT関数
広告
COUNT関数は引数に指定したカラム名のカラムの行数を返します。書式は次の通りです。
COUNT(col_name)
引数に指定したカラムに格納された値の中で、値がNULLではないデータの行数を取得します。特定のカラムではなく行数を取得するには「COUNT(*)」と記述して下さい。この場合はNULLかどうかは関係無く行数を取得します。
例えば次のように使用します。
mysql> SELECT COUNT(*) FROM goods;
上記では「goods」テーブルの行数を取得します。
mysql> SELECT COUNT(name) FROM goods GROUP BY name;
上記では「name」カラムでグループ化を行い、グループ毎の「name」カラムの行数(NULL以外)を取得します。
サンプル
では実際に試してみます。次のようなテーブルを用意します。
mysql> create table accesslog(searchengine varchar(20), d date);
テーブルには次のようにデータを入力しておきます。
まずテーブルの行数を取得します。
mysql> select count(*) from accesslog;
今度は「searchengine」カラムの行数を取得します。
mysql> select count(searchengine) from accesslog;
先ほど取得した行数と異なるのは、「searchengine」カラムの値がNULLのデータが1つ含まれているためです。
最後に「searchengine」カラムの値でグループ化を行い、「searchengine」カラムの値毎に行数を取得します。
mysql> select searchengine, count(searchengine) from accesslog -> group by searchengine;
「searchengine」カラムの値がNULLのデータについても行数を取得するには次のように入力します。
mysql> select searchengine, count(*) from accesslog -> group by searchengine;
( Written by Tatsuo Ikura )