【SQL】SQL集計関数の使い方|SUM, COUNT, AVGの具体例解説
この記事では、データベース言語SQLの集計関数に焦点を当て、特にSUM
, COUNT
, AVG
の使い方について詳しく解説しています。これらの関数の基本的な使い方から、さらに強力なGROUP BY
句との組み合わせ方法まで、実践的なコード例を交えて説明します。
3行で要約すると
- SQLの集計関数
SUM
,COUNT
,AVG
の基本的な使い方の紹介。 - 実際のコード例を交えた具体的な説明と使用場面。
GROUP BY
句と組み合わせてデータをグループ化し、より詳細な集計を行う方法の学習。
はじめに: SQL集計関数とは?
SQLは、データベースから情報を取得、挿入、更新、削除するための言語です。その中でも、「集計関数」は、データの一部や全体に対してある計算を行い、結果を返す特殊な関数のことを指します。例えば、全従業員の平均給与を知りたい、ある商品の売上合計を知りたいといった場面で使用します。
基本的な概念と使用場面
集計関数は、名前の通りデータを集計するための関数です。特定のカラムの合計や平均、データの数などを簡単に取得することができます。オンラインショップのデータベースで考えると、ある商品の月間売上合計や、ユーザーがレビューを残した回数などを計算する際に役立ちます。
基本構文の紹介
基本的な構文は以下のようになります。
SELECT 集計関数(カラム名)
FROM テーブル名;
たとえば、products
テーブルのprice
カラムの合計値を取得する場合は以下のようになります。
SELECT SUM(price)
FROM products;
このように、特定のカラムに対して集計関数を適用することで、簡単にデータの集計が可能です。
SQLの集計関数: SUM
SUM
関数は、指定したカラムの合計値を返す関数です。特に、数値型のカラムのデータを集計する際によく使用されます。
SUM関数の概要
SUM
関数を使用すると、特定のカラムの全てのデータを足し合わせた合計値を簡単に取得することができます。例えば、オンラインショップの売上データが保存されているテーブルから、ある月の売上合計を知りたい場合などに使用します。
実際のコード例
sales
テーブルのamount
カラムの合計値を取得する場合:
SELECT SUM(amount)
FROM sales;
- 条件を指定して、2023年の売上合計を取得する場合:
SELECT SUM(amount)
FROM sales
WHERE sale_date BETWEEN '2023-01-01' AND '2023-12-31';
- 商品カテゴリごとの売上合計を取得する場合:
SELECT category, SUM(amount)
FROM sales
GROUP BY category;
上記の3つの例を見ると、SUM
関数を使ってさまざまな集計を行うことができることがわかります。特に、条件を組み合わせることで、特定の期間やカテゴリに絞った集計も可能です。
SQLの集計関数: COUNT
COUNT
関数は、指定したカラムのデータの件数をカウントする関数です。レコードの数を知りたい場合や、特定の条件にマッチするデータの数を知りたい場合に使用します。
COUNT関数の概要
COUNT
関数を使用すると、データの件数を簡単に取得することができます。例えば、会員登録したユーザーの数や、特定の商品を購入した顧客の数などを知る際に役立ちます。
実際のコード例
users
テーブルの全ユーザー数を取得する場合:
SELECT COUNT(*)
FROM users;
- 2023年に登録したユーザー数を取得する場合:
SELECT COUNT(*)
FROM users
WHERE registration_date BETWEEN '2023-01-01' AND '2023-12-31';
- 商品カテゴリごとの商品数を取得する場合:
SELECT category, COUNT(product_id)
FROM products
GROUP BY category;
上記の例から、COUNT
関数を使うことで特定の条件にマッチするデータの数を簡単に取得できることがわかります。特に、GROUP BY
と組み合わせることで、カテゴリごとや月ごとなど、グループ化したデータの件数を集計することが可能です。
GROUP BYとの組み合わせ
SQLの集計関数と組み合わせて頻繁に使用されるのが、GROUP BY
句です。GROUP BY
は、指定したカラムの値ごとにデータをグループ化し、そのグループごとに集計関数を適用する際に使用されます。
GROUP BYとは?
GROUP BY
句は、指定したカラムの値を基に、テーブルのデータをグループ化します。例えば、従業員テーブルがあり、部署ごとに何人の従業員がいるのか、または部署ごとの平均給与はいくらか、といった情報を取得したい場合に利用します。
集計関数とGROUP BYの組み合わせ例
employees
テーブルで、部署ごとの従業員数をカウントする:
SELECT department, COUNT(*)
FROM employees
GROUP BY department;
- 商品カテゴリごとの平均価格を取得する場合:
SELECT category, AVG(price)
FROM products
GROUP BY category;
- 月ごとの売上合計を取得する場合:
SELECT MONTH(sale_date) as month, SUM(amount)
FROM sales
GROUP BY MONTH(sale_date);
これらの例を通じて、GROUP BY
句を使ってデータを特定のカラムの値ごとにグループ化し、そのグループごとに集計を行うことができることがわかります。特に、ビジネスの分析やレポート作成の際に、この組み合わせは非常に役立ちます。
まとめ: SQL集計関数をマスターしよう!
この記事では、SQLの集計関数SUM
, COUNT
, AVG
の基本的な使い方と具体的なコード例を紹介しました。また、これらの関数をより強力に使うためのGROUP BY
句の活用方法も学びました。
SUM
: 指定したカラムの合計値を返す関数。COUNT
: 指定したカラムのデータ件数をカウントする関数。AVG
: 指定したカラムの平均値を計算する関数。GROUP BY
: 指定したカラムの値ごとにデータをグループ化し、そのグループごとに集計関数を適用する際に使用。
これらの関数とGROUP BY
句を組み合わせることで、さまざまなデータの集計や分析が可能となります。データベースの中に眠る情報を引き出し、ビジネスの意思決定や分析に役立てるために、これらの技術をマスターしましょう!