トップDML集計関数 ≫ レコード数を取得する

レコード数を取得する

レコード数を取得するにはCOUNT関数を使用します.

COUNT

レコード数の取得

COUNT関数はSELECT文により選択されたレコードの件数を返します. COUNT関数の引数に*(アスタリスク)を指定した場合はすべてのレコード数を取得することができます.

SELECT COUNT(*)
FROM テーブル名

NULLを含まないレコード数の取得

COUNT関数の引数に列名を指定した場合は,その列の値がNULL以外のレコード数を取得します.

SELECT COUNT(列名)
FROM テーブル名

重複を含まないレコード数の取得

COUNT関数の引数でDISTINCT句を使用すると,重複した値を1つにまとめてからレコード数を取得することができます.

SELECT COUNT(DISTINCT 列名)
FROM テーブル名

グループ化してレコード数を取得

GROUP BY句を使用することで,同じ値を持つデータごとにグループ化してレコード数を求めることができます.

SELECT 集計キー1, 集計キー2, ..., COUNT(列名1), COUNT(列名2), ...
FROM テーブル名
GROUP BY 集計キー1, 集計キー2, ...

注意.
SELECT句には,GROUP BY句で指定した列と集計関数のみを指定することができます.

SQL サンプル

例として以下のテーブル(従業員マスタ)のレコード数を求めます.

従業員マスタ

従業員コード従業員名年齢種別
A0001チャーリー・ブラウン15人間
A0002ペパーミント・パティ15人間
A0003ルシール・ヴァン・ぺルト16人間
B0001スヌーピー4
C0001ウッドストック3
Z0001<NULL><NULL><NULL>

全レコードのレコード数を求める

従業員マスタの全レコードを対象にしてレコード数を求める場合は以下のようにSQLを書きます. なお以下のサンプルは分かりやすいようにAS句を使用して列に別名をつけています.

SQL

SELECT COUNT(*) AS 従業員マスタの件数
FROM 従業員マスタ

結果

従業員マスタの件数
6

重複を含まないレコード数の取得

従業員テーブルに格納されている種別の種類数を求める場合は以下のようにSQLを書きます.

SQL

SELECT COUNT(DISTINCT種別) AS 種類数
FROM 従業員マスタ

結果

種類数
3

グループごとにレコード数を求める

種別ごとにレコード数を求める場合は以下のようにSQLを書きます.

SQL

SELECT COUNT(*) AS レコード数, 種別
FROM 従業員マスタ
GROUP BY 種別

結果

レコード数種別
3人間
1
1

注意.
サンプルで使用するテーブルは説明のため正規化を行っていなかったり,一般的でない列が含まれている場合があります.ご容赦ください.