実務の集計は、まず「数を数える」ことから始まります。
「今月の注文は何件?」「東京の顧客は何人?」 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関数を使えば、感覚ではなく「数字」で正確に状況を語れるようになります。
たった一つの数字が、報告書の説得力を劇的に高めてくれます。
