本記事では、MySQLにおいてデータの件数をカウントしたい時に使うCOUNT関数について詳しく解説します。
MySQLのCOUNT関数とは
データの件数を取得したい際には、データを取得するためのSELECT文と一緒にCOUNT関数を使います。
基本的な書き方は以下の通りです。
SELECT COUNT(カウント対象) FROM テーブル名;
SELECT文の書き方については以下の記事で詳しく解説しています!
テーブルの全データ数をカウントする
テーブルの全てのデータの数を取得するには、「*」を使って以下のように記述します。
SELECT COUNT(*) FROM テーブル名;
具体的なコード例
今回は以下のようなusersテーブルの全データ数をカウントします。

SELECT COUNT(*) FROM users;
これを実行すると、全データ数は”10”なので10が取得できるはずです。

10がきちんと取得できました!
重複を除外してカラムのデータ数を取得する
特定のカラムにおいてデータのユニーク件数をカウントしたい場合は「DISTINCT」を一緒に使います。
SELECT COUNT(DISTINCT カラム名) FROM テーブル名;
具体的なコード例
先ほどの例でも使った以下のusersテーブルにあるaddressカラムが存在します。

addressカラムの全データ数は”10″個ですが、「東京都」「千葉県」「神奈川県」の三種類しかないため、重複があります。
なので重複を除外してデータ数をカウントしたい場合、以下のように記述します。
SELECT COUNT(DISTINCT address) FROM users;
種類は3つなので、”3”が取得できるはずです。

正しく取得できました!