• ブログ
  • >
  • [SQLの基本]集合関数入門: データを集計する基本クエリ

SQLの基本:集合関数入門:データを集計する基本クエリ

投稿日:

はじめに

SQLには、データを集計するための強力な機能が備わっています。集合関数を使用することで、データの平均、最大値、最小値、合計、カウントなどを簡単に取得できます。今回の記事では、これらの基本的な集合関数を紹介し、それぞれの使用例を解説します。

平均 (AVG)

AVG関数は、指定した列の平均値を計算します。

例 employeesテーブルから給与の平均値を取得するクエリは次の通りです。

SELECT 
  AVG(salary) AS average_salary 
FROM employees;

最大値 (MAX)

MAX関数は、指定した列の最大値を取得します。

例 employeesテーブルから最高給与を取得するクエリは次の通りです。

SELECT
  MAX(salary) AS highest_salary 
FROM employees;

最小値 (MIN)

MIN関数は、指定した列の最小値を取得します。

例 employeesテーブルから最低給与を取得するクエリは次の通りです。

SELECT 
  MIN(salary) AS lowest_salary 
FROM employees;

カウント (COUNT)

COUNT関数は、指定した条件に一致する行の数をカウントします。

例 employeesテーブルから従業員の総数を取得するクエリは次の通りです。

SELECT 
  COUNT(*) AS total_employees 
FROM employees;

合計 (SUM)

SUM関数は、指定した列の値の合計を計算します。

例 employeesテーブルから全従業員の給与の合計を取得するクエリは次の通りです。

SELECT 
  SUM(salary) AS total_salary 
FROM employees;

グループ化と集計 (GROUP BY)

集合関数は、GROUP BY句と組み合わせることで、特定のグループごとに集計を行うことができます。

例 employeesテーブルをdepartment_idごとにグループ化し、それぞれの部署の平均給与を取得するクエリは次の通りです。

SELECT 
  department_id, 
  AVG(salary) AS average_salary 
FROM employees GROUP BY department_id;

条件付き集計 (HAVING)

HAVING句を使用すると、GROUP BY句でグループ化した後のデータに対して条件を設定できます。

例 employeesテーブルをdepartment_idごとにグループ化し、平均給与が50000以上の部署のみを取得するクエリは次の通りです。

SELECT 
  department_id, 
  AVG(salary) AS average_salary 
FROM employees 
GROUP BY department_id 
HAVING AVG(salary) >= 50000;

まとめ

今回は、SQLの基本的な集合関数について学びました。これらの関数を使用することで、データの集計や分析が簡単に行えるようになります。次回の記事では、さらに高度なSQLクエリやデータベース操作について詳しく解説していきます。ぜひご期待ください!