SQL ServerのCOUNT関数とは?基本構文からDISTINCT・GROUP BYの活用まで徹底解説
この記事では、SQL ServerのCOUNT関数の使い方について、具体的な構文と実行例を挙げながら詳しく解説します。COUNT関数はデータベース操作で最も頻繁に使われる集計関数の一つです。基本をしっかり押さえておくことで、日々のデータ分析やシステム開発に大きく役立ちます。
COUNT関数とは
COUNT関数は、SQL Serverにおいてテーブル内のレコード(行)の件数を数えるために使用される集計関数です。重要なポイントとして、NULLが含まれる値はカウントの対象から除外されるという特性があります。
基本構文
SQL ServerでCOUNT関数を使用する際は、以下の構文を使用します。
SELECT COUNT(列名)
FROM テーブル名
[WHERE 条件];
パラメータの説明
- 列名: カウント対象となる列、計算値、または式を指定します。
- テーブル名: レコードを取得する対象のテーブルです。FROM句には少なくとも1つのテーブルを指定する必要があります。
- 条件: 省略可能です。抽出対象となるレコードが満たすべき条件を指定します。
対応バージョンに関する注意点
COUNT関数は、SQL Server 2017、SQL Server 2016、SQL Server 2014、SQL Server 2012、SQL Server 2008 R2、SQL Server 2008、SQL Server 2005以降の各バージョンで利用できます。
使用例
ここからは、実際の例を見ながらSQL ServerにおけるCOUNT関数の使い方を確認していきましょう。まず、次のようなデータテーブルを想定します。

例1:テーブル内のカテゴリ数を数える
SELECT COUNT(*)
FROM Quantrimang
WHERE Sobai > 100;
結果:5
この例では、Quantrimangテーブルの中からSobai(記事数)が100より大きいカテゴリの件数をカウントしています。該当するレコードは5件であるため、結果は「5」となります。
例2:DISTINCTキーワードを使う
DISTINCTとCOUNTを組み合わせると、重複する値を除外した上で件数をカウントできます。
SELECT COUNT(DISTINCT Sobai)
FROM Quantrimang
WHERE Sobai > 100;
結果:4
この例ではDISTINCTキーワードを使用しているため、重複した値は1回だけカウントされます。サンプルデータでは「101」という値が2回出現していますが、1回として数えられるため、合計件数は4となります。
例3:GROUP BY句を使う
次の例では、大分類ごとに関連するすべてのレコードをグループ化してカウントします。
SELECT Chuyenmuclon, COUNT(Chuyenmuccon) AS "So luong"
FROM Quantrimang
GROUP BY Chuyenmuclon;
結果:
Chuyenmuclon So luong
Laptrinh 3
Mang xa hoi 2
Trinh duyet web 1
GROUP BY句を使うことで、Chuyenmuclon(大分類)ごとにChuyenmuccon(小分類)の件数を集計できます。この結果から、「Laptrinh」には3件、「Mang xa hoi」には2件、「Trinh duyet web」には1件の小分類が存在することがひと目でわかります。
まとめ
COUNT関数は、テーブル内のレコード件数を取得するための基本的かつ強力な集計関数です。COUNT(*)で全行を数えられるほか、COUNT(列名)ではNULLを除外してカウントし、DISTINCTとの組み合わせで重複排除、GROUP BYとの組み合わせでグループ別集計にも対応できます。これらの使い方をマスターすれば、SQL Serverでのデータ集計作業がより効率的になるでしょう。
-
【SQL Server】AVG関数の使い方を徹底解説!基本構文から実用例まで
本記事では、SQL Serverにおける数値処理関数「AVG」の使い方を、基本構文と具体的な使用例を交えて詳しく解説します。AVG関数の動作を正しく理解し、実務のデータ集計に活かせるようにしましょう。 AVG関数とは AVG関数は、SQL Serverにおいて式の平均値、または選択された行のうち指定した列の平均値を返す集計関数です。なお、NULLの値は自動的に除外され、平均の計算対象には含まれません。 基本構文 平均値を計算するには、SQL ServerでAVG関数を次のように記述します。 SELECT AVG(列名)FROM テーブル名[WHERE 条件]; パラメータの説明: 列名:平均
-
SQL ServerのFLOOR関数とは?構文と使用例をわかりやすく解説
この記事では、SQL Serverにおける数値処理関数「FLOOR()」の使い方を、具体的な構文と実行例を交えながら詳しく解説します。例を見ながら学ぶことで、FLOOR関数の動きをしっかりと理解できるでしょう。 FLOOR関数の概要 FLOOR関数は、引数として渡された数値または式の下限値(切り捨て後の値)を返す関数です。つまり、渡された数値以下で最も大きい整数値を返します。 例えば、5.9という数値に対してFLOOR関数を使うと、5.9以下の最大の整数である「5」が返されます。負の数の場合は注意が必要で、-5.9に対しては「-6」が返されます。これは、-6の方が-5.9より小さいためです。