集計関数

[Oracle] データ集計 行数取得SQL(COUNT)

データ集計(行数)

全体の行数を集計する

集計関数COUNTを使用することで、行数を取得することが可能です。

SELECT COUNT(*) FROM テーブル1;

それではサンプルを見てみましょう。
以下のようなteamテーブルがあります。

emp_no name dept
A00001 荒木 太郎 A課
A00002 井端 次郎 A課
A00003 森野 三郎 B課
A00004 null null

テーブルの行数を取得するSQLです。

上記を実行し、抽出された結果がこちらです。

COUNT(*)
4

teamテーブルの行数が集計されました。

 

列の行数を集計する

行を指定する場合は、NULL値の行を除いて集計されるため注意が必要です。

SELECT COUNT(列1) FROM テーブル1;

それではサンプルを見てみましょう。
以下のようなteamテーブルがあります。

emp_no name dept
A00001 荒木 太郎 A課
A00002 井端 次郎 A課
A00003 森野 三郎 B課
A00004 null null

dept列の行数を取得するSQLです。

上記を実行し、抽出された結果がこちらです。

COUNT(dept)
3

dept列の行数が集計されました。NULL行がカウントされていないのがわかります。

 

列のデータごとに行数を集計する

GROUP BY句を使用することで、列を指定してグループ化して集計することが可能です。

[Oracle] データ集計 基本SQL(GROUP BY)データ集計(基本形) 検索結果を集計する GROUP BY句を使用することで、SELECT句で取得した結果をグループ化して集計するこ...

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

それではサンプルを見てみましょう。
以下のようなteamテーブルがあります。

emp_no name dept
A00001 荒木 太郎 A課
A00002 井端 次郎 A課
A00003 森野 三郎 B課
A00004 null null

dept列でグループ化し、行数を取得するSQLです。

上記を実行し、抽出された結果がこちらです。

dept COUNT(dept)
A課 2
B課 1

dept列がグループ化され、行数が集計されました。
 
 
以上が、列の行数を取得する集計関数「COUNT」の使い方です。
ぜひ参考にしてみてください。