カテゴリ: PostgreSQL 更新日: 2026/01/16

PostgreSQLの集約関数とは?COUNT/SUM/AVGを解説

PostgreSQLの集約関数とは?COUNT/SUM/AVGを解説
PostgreSQLの集約関数とは?COUNT/SUM/AVGを解説

先生と生徒の会話形式で理解しよう

生徒

「名簿の人数を数えたり、平均年齢を出したりしたいんですが、SQLでできますか?」

先生

「できます。そういう計算をまとめて行うときに使うのが集約関数です。」

生徒

「計算って聞くと難しそうです…」

先生

「電卓で数を数えたり足したりする感覚で使えます。表を見ながら一つずつ説明します。」

1. SQLとは何か?

1. SQLとは何か?
1. SQLとは何か?

SQLは、データベースという仕組みに保存されているデータを操作するための言葉です。データベースは、たくさんの情報を表の形で整理して保存する箱のようなものです。SQLを使うと、その表から必要な情報を取り出したり、数を数えたり、合計や平均を計算したりできます。PostgreSQLは、そのSQLを使って操作できる、信頼性の高いデータベースです。

2. 集約関数とは何か?

2. 集約関数とは何か?
2. 集約関数とは何か?

集約関数とは、複数の行をまとめて計算するための関数です。関数という言葉は少し難しく聞こえますが、「決まった計算をしてくれる道具」だと思ってください。例えば、名簿に何人いるかを数えたり、年齢を全部足したり、平均年齢を出したりする処理を、一行のSQLで行えます。これが集約関数の役割です。

3. サンプルテーブルを確認しよう

3. サンプルテーブルを確認しよう
3. サンプルテーブルを確認しよう

ここでは、usersテーブルを使って説明します。SQLを実行する前のテーブルの中身は次のとおりです。


id | name       | age | email
---+------------+-----+-------------------
1  | 山田太郎   | 25  | taro@example.com
2  | 佐藤花子   | 19  | hanako@example.com
3  | 鈴木一郎   | 30  | ichiro@example.com
4  | 高橋次郎   | 22  | jiro@example.com
5  | 伊藤美咲   | 28  | misaki@example.com

4. COUNTで件数を数える

4. COUNTで件数を数える
4. COUNTで件数を数える

COUNTは、行の数を数えるための集約関数です。名簿に何人登録されているかを知りたいときに使います。COUNT(*)と書くことで、すべての行を対象に数えます。


SELECT COUNT(*)
FROM users;

count
-----
5

この結果から、usersテーブルには5人分のデータがあることが分かります。紙の名簿を一人ずつ指で数える代わりに、SQLが一瞬で数えてくれます。

5. SUMで合計を計算する

5. SUMで合計を計算する
5. SUMで合計を計算する

SUMは、数値を合計する集約関数です。年齢の合計や、金額の合計などを計算するときに使います。ここでは、全員の年齢を足してみます。


SELECT SUM(age)
FROM users;

sum
-----
124

これは、全員の年齢を足した合計です。電卓で一人ずつ足し算をする必要はありません。SQLがまとめて計算してくれます。

6. AVGで平均を求める

6. AVGで平均を求める
6. AVGで平均を求める

AVGは、平均値を求める集約関数です。平均年齢を知りたいときなどに使います。平均とは、合計を人数で割った値のことです。


SELECT AVG(age)
FROM users;

avg
-----
24.8

この結果から、登録されている人たちの平均年齢が分かります。数字が小数になることもありますが、PostgreSQLが自動で計算してくれます。

7. 条件と一緒に集約関数を使う

7. 条件と一緒に集約関数を使う
7. 条件と一緒に集約関数を使う

集約関数は、条件と組み合わせて使うこともできます。例えば、20歳以上の人だけを対象に人数を数えたい場合です。WHEREを使うことで、対象を絞れます。


SELECT COUNT(*)
FROM users
WHERE age >= 20;

count
-----
4

このように、条件に合ったデータだけを集計できるのも、PostgreSQLの集約関数の便利な点です。

8. 集約関数を使うときのポイント

8. 集約関数を使うときのポイント
8. 集約関数を使うときのポイント

集約関数は、たくさんのデータを一つの結果にまとめるための仕組みです。そのため、結果は一行になることが多いです。COUNTは件数、SUMは合計、AVGは平均と、役割を覚えておくと迷いません。最初は「数える」「足す」「平均を出す」という身近な計算として考えると、SQLの集約関数はぐっと理解しやすくなります。

カテゴリの一覧へ
新着記事
New1
PostgreSQL
PostgreSQLのLIMIT・OFFSETとパフォーマンス問題を完全解説|初心者でもわかる安全な使い方
New2
MySQL
MySQLのUPDATE文でデータを更新する基本を徹底解説|SQL初心者でもわかるデータベース更新入門
New3
PostgreSQL
PostgreSQLのOFFSET完全入門|並び替えと組み合わせてデータをスキップする方法を初心者向けに解説
New4
MySQL
MySQLで複数行INSERTを行う方法と注意点を徹底解説|SQL基礎から学ぶデータベース入門
人気記事
No.1
Java&Spring記事人気No1
PostgreSQL
PostgreSQLのDISTINCT完全ガイド|SQLで重複データを除外する方法を初心者向けに解説
No.2
Java&Spring記事人気No2
PostgreSQL
PostgreSQLの主キー・外部キーを完全解説!初心者でもわかる設定方法と考え方
No.3
Java&Spring記事人気No3
PostgreSQL
PostgreSQLのUPDATE文の使い方(部分更新・条件更新)
No.4
Java&Spring記事人気No4
PostgreSQL
PostgreSQLとは?初心者向けに特徴をわかりやすく解説
No.5
Java&Spring記事人気No5
PostgreSQL
PostgreSQLのLEFT JOIN完全入門!不足データを補いながらテーブル結合する仕組みをやさしく解説
No.6
Java&Spring記事人気No6
PostgreSQL
PostgreSQLスキーマ設計のベストプラクティス完全ガイド|初心者でもわかるデータベース整理術
No.7
Java&Spring記事人気No7
PostgreSQL
PostgreSQLのpublicスキーマの役割と扱い方
No.8
Java&Spring記事人気No8
PostgreSQL
PostgreSQLの権限管理を完全解説|スキーマ単位で理解するデータベースセキュリティの基礎