【SQL】 COUNT関数の使い方(件数を取得する)
COUNT関数は、以下に対応しています。
ORACLE MS-SQL MS-Access MySQL
COUNT関数 : 書式
書式 COUNT ( [ DISTINCT | ALL ] column )
引数 column : 行をカウントする列名
戻値 カウント数
引数 column : 行をカウントする列名
戻値 カウント数
COUNT関数 : 解説
COUNT関数は、指定した列に値が何行あるかを数える関数です。引数で指定する列内のNULL値以外の値の数を数えます。ただ、単純にすべての行数が欲しい場合は、*(アスタリスク)を指定し、*を指定した場合には、NULL値も含んだ行数を数えます。
指定できるキーワードは、ALLとDISTINCTの2種類です。DISTINCTを指定すると、指定した列の中で重複する値は1つとしてカウントします。つまり、違う値が何種類あるかを知りたいときに使います。ALLはすべての値をカウントします。何も指定をしない場合は、デフォルトでALLが指定されていることになります。
COUNT関数 : 使用例 (すべての行をカウント)
SQL文 SELECT COUNT(*) FROM 試験結果;
実行結果
COUNT(*) |
4 |
表 試験結果
名前 | 性 | クラス | 得点 |
大谷翔平 | 男 | A | 90 |
遠藤航 | 男 | B | 95 |
大坂なおみ | 女 | C | 90 |
上野由紀子 | 女 | A | 80 |
COUNT関数 : 使用例 (DISTINCT)
DISTINCTを使うことで、重複を1としてカウントできます。
SQL文
SELECT COUNT(DISTINCT 得点) FROM 試験結果;
実行結果
COUNT(DISTINCT 得点) |
3 |
表 試験結果
名前 | 性 | クラス | 得点 |
大谷翔平 | 男 | A | 90 |
遠藤航 | 男 | B | 95 |
大坂なおみ | 女 | C | 90 |
上野由紀子 | 女 | A | 80 |
MSAccessでは、DISTINCTは使うことができません。
GROUP BY句と組合せたCOUNT関数の使用例
COUNT関数は、GROUP BY句と組合せて使うこともできます。GROUP BYでグループ化し、各グループに何行あるかを問合せることができます。
SQL文
SELECT クラス, COUNT(*) FROM 試験結果
GROUP BY クラス;
実行結果
クラス | COUNT(*) |
A | 2 |
B | 1 |
C | 1 |
表 試験結果
名前 | 性 | クラス | 得点 |
大谷翔平 | 男 | A | 90 |
遠藤航 | 男 | B | 95 |
大坂なおみ | 女 | C | 90 |
上野由紀子 | 女 | A | 80 |
関連リンク
関数一覧
SQLリファレンス > 関数
ORACLE、MS-SQL Server、MS-Access、MySQLで使用する関数の一覧表です。いちれべ.comは、オラクル、MS-SQL Server、MS-Access で使用可能か一目でわかるのが特徴のSEサポートサイトです。