【Oracle】COUNT でレコード件数を取得する

OracleのCOUNTについて。

この記事の内容はコチラです

  • OracleのCOUNTの使い方
  • グループ化してCOUNTを使う

今回は、Oracleの「COUNT」について紹介します!

レコード件数を取得するCOUNT

Oracleでレコード件数を取得するには「COUNT」を使用します。

COUNTの使い方

--テーブル1の件数を取得する
SELECT COUNT(列1) FROM テーブル1;
SELECT COUNT(*) FROM テーブル1;

COUNT(列1)の「列1」は通常キー項目を記述します。COUNT(*)と記述することもできます。

例1. COUNTで件数を取得するパターン

--件数を取得(列名を記述するパターン)
SELECT COUNT(EMPNO) FROM EMP;
COUNT(EMPNO)
10

COUNTを使って、EMPテーブルのレコード件数「10」を取得しました。

 

--件数を取得(列名なしパターン)
SELECT COUNT(*) FROM EMP;
COUNT(*)
10

COUNTの列を省略してCOUNT(*)とすることもできます。

パフォーマンスを考えると、COUNT(*)ではなくCOUNT(キー項目)にした方がよいです。上記の例では、最初のSQLで記述した「COUNT(EMPNO)」の方がよいです。

例2. グループ化してグループ毎に件数を取得するパターン

--都道府県毎の人数を取得
SELECT ADDRESS,COUNT(EMPNO) FROM EMP
 GROUP BY ADDRESS;
ADDRESS COUNT(EMPNO)
東京 10
埼玉 5
神奈川 8

ここでは、GROUP BYを使ってグループ化した結果の件数を集計しました。都道府県毎の人数をCOUNTで集計しました。

COUNTをつかってレコード件数を取得することができました。

以上、Oracleでレコード件数を取得するCOUNTの使い方でした。

コメント