【COUNT関数】データ件数をカウントしてみよう

実務の集計は、まず「数を数える」ことから始まります。

「今月の注文は何件?」「東京の顧客は何人?」 SQLの COUNT(カウント)関数 を使えば、100万行のデータからでも一瞬で正確な件数を導き出せます。

1.COUNT関数の基本

最もよく使われるのが、すべての行(レコード)を数える方法です。

SELECT 
  COUNT(*)
FROM 
  `test.sales`;

*(アスタリスク)を指定することで、条件に一致する行が全部で何件あるかを返します。

2.COUNTは「行」を数えるカウンター

今回のポイントは、これまでの「表形式」の結果とは異なり、最終的に「たった一つの数字」が表示される点です。

例として、salesテーブル(売上データ)を使用し、全体で何件、商品の購入があったのかを見ていきましょう。

まずは、sales内のすべてのレコードを出力させてみましょう。

SELECT 
  *
FROM 
  `test.sales`;

全部で『21行』レコードが存在していることが分かります。

次に、COUNT関数を使用してみましょう

SELECT 
  COUNT(*)
FROM 
  `test.sales`;

先ほど、出力したレコードを集計し、その数を1レコードとして表示しております。

salesテーブルのレコード数は全21レコードとなりますので、『21』と表示されます。

これが、COUNT関数の動きです。

3.実務で役立つ活用パターン

COUNTは単体で使うよりも、これまでに学んだ WHERE句 と組み合わせることで真価を発揮します。

① 特定の条件に合う件数を出す
「価格が10,000円以上の商品」がいくつあるか数える例です。

SELECT 
  COUNT(*)
FROM 
  `test.products`
WHERE 
  price >= 10000;

② 重複を除いて「種類」を数える(COUNT DISTINCT)
前回の DISTINCT と組み合わせるテクニックです。
「のべ人数」ではなく、「何人の顧客が購入したか(ユニークな人数)」を知りたい時に使います。

SELECT 
  COUNT(DISTINCT customer_id)
FROM 
  `test.sales`;

※これにより、同じ人が2回買っても「1人」としてカウントされます。

まとめ

お疲れさまでした!

COUNT関数を使えば、感覚ではなく「数字」で正確に状況を語れるようになります。

たった一つの数字が、報告書の説得力を劇的に高めてくれます。