SQL集計関数の完全ガイド!COUNT・SUM・AVG・MIN・MAXの使い方を徹底解説
SQLの集計関数(Aggregate Functions)は、データベース内のデータそのものではなく、データに関する情報を取得するための機能です。たとえば、COUNT関数を使えばテーブル内のレコード数を簡単に把握できます。SQLで利用できる主な集計関数は、COUNT、SUM、AVG、MIN、MAXの5つです。
「各支店に何人の従業員が在籍しているか知りたい」「最も勤続年数が長いのは誰か知りたい」——このように、データそのものではなく、そこから導き出される情報が必要な場面は少なくありません。そんなときに活躍するのがSQL集計関数です。
この記事では、SQL集計関数の基本、仕組み、そして実際のクエリでの使い方について詳しく解説します。
※本記事ではPostgreSQLを使用して解説を進めます。
SQL集計関数とは
SQL集計関数は、データベース内のデータを集約した情報を取得するために使われます。たとえば、SUM関数を使えば特定のカラムにある全値の合計を求められます。レコードを集計するような処理をシンプルな構文で実行できるため、作業時間を大幅に短縮できるのが大きなメリットです。
SQLで使える集計関数は以下の5種類です。
- COUNT:行数をカウントする
- SUM:合計値を求める
- AVG:平均値を求める
- MIN:最小値を求める
- MAX:最大値を求める
それでは、それぞれの関数を順番に見ていきましょう。このチュートリアルでは、従業員情報を管理するデータベースを例に解説します。
集計関数は、SELECT文の先頭に記述して使用します。
なお、同じSELECT文の中で通常のカラムと集計関数を同時に指定する場合は、GROUP BY句が必要になります。GROUP BY句は、SQLに対してデータをどのようにグループ化して表示するかを指示する役割を果たします。
SQL COUNT関数:行数をカウントする
COUNT関数は、クエリが返す行の総数を取得します。WHERE句と組み合わせれば、条件に一致する行の数だけを返すことも可能です。
たとえば、「スタンフォード支店には何人の従業員が勤務しているのか」を知りたいとしましょう。この場合、次のようなクエリを実行します。
SELECT COUNT(name) FROM employees WHERE branch = "Stamford";
実行結果:
| count |
| 1 |
(1 row)
スタンフォード支店で働く従業員は1人であることがわかりました。
SQL MIN・MAX関数:最小値と最大値を取得する
MIN関数はカラム内の最小値を、MAX関数は最大値をそれぞれ返します。どちらもSQLの集計関数に分類されます。
たとえば、「社員月間MVP賞(employee of the month)を最も少なく受賞している人は何回か」を調べたい場合は、次のクエリを使います。
SELECT MIN(employee_month_awards) FROM employees;
実行結果:
| min |
| 1 |
(1 row)
逆に、最多受賞回数を知りたい場合は、MINをMAXに置き換えるだけでOKです。
SELECT MAX(employee_month_awards) FROM employees;
実行結果:
| max |
| 6 |
(1 row)
ここで注目したいポイントとして、MIN関数とMAX関数は数値だけでなく文字列にも使用できます。たとえば、MIN(name)ならアルファベット順で最初に来る名前を、MAX(name)なら最後に来る名前を取得できます。
SQL AVG関数:平均値を求める
AVG関数は、指定したカラムの平均値を返します。
たとえば、「従業員一人あたりの社員月間MVP賞の平均受賞回数」を求めてみましょう。次のクエリで実現できます。
SELECT AVG(employee_month_awards) FROM employees;
実行結果:
| avg |
| 4 |
(1 row)
SQL SUM関数:合計値を求める
SUM関数は、指定したカラムの値の合計を算出します。
たとえば、「これまでに発行された社員月間MVP賞の総数」を知りたい場合も、SUM関数を使えばすぐに取得できます。
SELECT SUM(employee_month_awards) FROM employees;
実行結果:
| sum |
| 20 |
(1 row)
まとめ
SQL集計関数は、データベース内のデータに関する情報を返す関数です。たとえばAVG関数は、カラム内の値の平均を求めるのに使えます。集計関数はMIN、MAX、COUNT、SUM、AVGの5種類があり、それぞれ目的に応じて使い分けることで、データ分析の効率が大きく向上します。
最後に、理解度をチェックしてみましょう。「Linda」という名前の従業員が何人いるかを調べる集計関数を自分で書いてみてください。本記事で紹介したクエリと見比べて、正しく動作するか確認してみると良い練習になります。
SQLの学習方法については、包括的なガイドも用意しています。新しい学習リソースをお探しの方は、「How to Learn SQL」ページのガイドもぜひ参考にしてください。
-
【2024年最新】フォートナイト(Fortnite)のシステム要件を徹底解説|PC・Macの動作環境チェック完全ガイド
フォートナイト(Fortnite)は今や世界中で大人気のバトルロイヤルゲームですが、「自分のPCでも動くのか?」「このPCのスペックで快適にプレイできるのか?」という疑問を持つ方は少なくありません。一般的に、ゲームは通常のアプリケーションと比べて、メモリ(RAM)、CPU(プロセッサー)、グラフィックボード、DirectXなどに対する要求水準が高くなっています。 本記事では、以下の内容について詳しく解説します。 フォートナイトの最低動作環境とは? 推奨PCスペックはどれくらい? Macでのシステム要件は? おまけ:ドライバーとゲームコンポーネントの更新でフォートナイトを高速化する方法
-
Fitbit Pay完全ガイド:設定方法からお支払い・セキュリティ対策まで徹底解説
Fitbitは、最も優れたスマートウェアラブルデバイスのひとつです。多彩なモデルと豊富な機能を備えており、その中でも人気の高い機能が「Fitbit Pay」です。Fitbit IonicやFitbit Versaに搭載されたNFC(近距離無線通信)チップにより、非接触決済に対応したあらゆる店舗で、腕時計をつけたまま支払いが可能になります。 この記事では、Fitbit Payの使い方をマスターできるよう、設定方法からセキュリティ対策まで完全ガイドとして詳しく解説します。 Fitbit Payとは? Fitbit Payは、デビットカードやクレジットカードをFitbit IonicおよびVersa