データの件数を取得したい時はCOUNT関数
COUNT関数の基本的な使い方は以下の通りです。
select count(カウント対象) from テーブル名;
テーブルの全データ数を取得する
テーブル内にある全てのデータ数を取得する場合は以下のように書きます。
select count(*) from テーブル名;
具体的なコード例
前提として以下のusersテーブルがあるとします。
id | name | like | age | address | gender | created_at | updated_at |
1 | 田中由美子 | tennis | 20 | 東京 | male | 2021-10-09 05:11:05 | 2021-10-09 05:11:05 |
2 | 鈴木浩 | game | 34 | 千葉 | female | 2021-10-09 05:11:05 | 2021-10-09 05:11:05 |
3 | 佐藤康明 | baseball | 19 | 神奈川 | female | 2021-10-09 05:11:05 | 2021-10-09 05:11:05 |
4 | 高橋洋子 | walking | 40 | 東京 | female | 2021-10-09 05:11:05 | 2021-10-09 05:11:05 |
5 | 田島翔太 | swimming | 16 | 東京 | male | 2021-10-09 05:11:05 | 2021-10-09 05:11:05 |
このusersテーブルの全てのデータ数を取得したい場合は以下のように記述すればOKです。
select count(*) from users;
実行結果は以下のとおりです。
count |
5 |
期待通り総件数の「5」が取得できました。
重複を除外してカラムのデータ数を取得する
特定のカラムにおいてデータのユニーク件数をカウントしたい場合は以下のように書きます。
select count(distinct カラム名) from テーブル名;
COUNT関数の括弧の中で「distinct」を付けることがポイントですね。
具体的なコード例
前提として以下のusersテーブルがあるとします。
ここから「address」カラムのデータを重複なしで取得します。「東京」「千葉」「神奈川」の3種類なので「3」が取得できればOKです。
id | name | like | age | address | gender | created_at | updated_at |
1 | 田中由美子 | tennis | 20 | 東京 | male | 2021-10-09 05:11:05 | 2021-10-09 05:11:05 |
2 | 鈴木浩 | game | 34 | 千葉 | female | 2021-10-09 05:11:05 | 2021-10-09 05:11:05 |
3 | 佐藤康明 | baseball | 19 | 神奈川 | female | 2021-10-09 05:11:05 | 2021-10-09 05:11:05 |
4 | 高橋洋子 | walking | 40 | 東京 | female | 2021-10-09 05:11:05 | 2021-10-09 05:11:05 |
5 | 田島翔太 | swimming | 16 | 東京 | male | 2021-10-09 05:11:05 | 2021-10-09 05:11:05 |
具体的なコードは以下の通りで、COUNT関数の中でdistinctとaddressを指定します。
select count(distinct address) from users;
実行結果は以下のとおりです。
count |
3 |
期待通り総件数の「3」が取得できました。