【SQL】COUNT関数の基本とGROUP BYでのカウント方法

Oracle

今回は、COUNT関数について解説してきたいと思います。

使い方

レコード数が知りたい場合

以下 t_test というテーブルが、このようなデータが登録されていたとします。

COL1COL2COL3COL4
A111
B111
B111
B111
select count(*) from t_test;  --t_testはテーブル名です。

結果は、4が返ってきます。

条件付きレコード数が知りたい場合

以下 t_test というテーブルが、このようなデータが登録されていたとします。

COL1COL2COL3COL4
A111
B111
B111
B111
select count(*) from t_test WHERE COL1 = 'A';  --t_testはテーブル名です。

結果は、1が返ってきます。

重複した行を除外してレコード数が知りたい場合

以下 t_test というテーブルが、このようなデータが登録されていたとします。

COL1COL2COL3COL4
A111
B111
B111
B111
select count(distinct col1) from t_test;  --t_testはテーブル名です。

結果は、2が返ってきます。

GROUP BY での使い方

カラム毎の種類が知りたい場合

以下 t_test というテーブルが、このようなデータが登録されていたとします。

COL1COL2COL3COL4
A111
B111
B111
B111
select col1,count(col1) from t_test;  --t_testはテーブル名です。

結果は、以下のように返ってきます。

col1count(col1)
A1
B3

Aが1つ、Bが3つという感じで。。。

注意事項

NULLのデータは除外される

以下 t_test というテーブルが、このようなデータが登録されていたとします。

COL1COL2COL3COL4
A111
B111
B111
B111
NULL222
select count(col1) from t_test;  --t_testはテーブル名です。

結果は、4が返ってきます。

タイトルとURLをコピーしました