1. 集約関数とは?

SQLの集約関数(Aggregate Functions)は、複数の行に対して計算を行い、単一の値を返す関数です。データの統計的な集計や分析に使用されます。

代表的な集約関数には以下のものがあります:

2. 各集約関数の基本的な使い方

商品テーブル

product_id product_name category price stock order_date
1 Laptop Electronics 100000 5 2024-01-05
2 Smartphone Electronics 70000 10 2024-01-10
3 Tablet Electronics 50000 7 2024-02-01
4 Refrigerator Home Appliance 120000 3 2024-03-15
5 Washing Machine Home Appliance 90000 4 2024-03-20
6 Microwave Home Appliance 40000 6 2024-04-10

3.1 SUM(): 合計を求める

SELECT SUM(price) AS total_price FROM products;

結果:

total_price
470000

3.2 MAX(): 最大値を求める

SELECT MAX(price) AS max_price FROM products;

結果:

max_price
120000

3.3 MIN(): 最小値を求める

SELECT MIN(price) AS min_price FROM products;

結果:

min_price
40000

3.4 COUNT(): 行数を数える

SELECT COUNT(*) AS product_count FROM products;

結果:

product_count
6

特定のカラムに値がある行だけをカウントする場合は、 COUNT(カラム名)を使います。

SELECT COUNT(price) AS price_count FROM products;

結果:

price_count
6

3.5 AVG(): 平均値を求める

SELECT AVG(price) AS average_price FROM products;

結果:

average_price
78333.33

4. WHERE条件と組み合わせた集約関数の使い方

4.1 条件付きの合計(SUM)

SELECT SUM(price) AS total_price FROM products WHERE category = 'Electronics';

結果:

total_price
220000

4.2 最大値を特定の条件で取得(MAX)

SELECT MAX(price) AS max_price FROM products WHERE stock > 0;

結果:

max_price
120000

4.3 特定の期間のデータを集計(COUNT)

SELECT COUNT(*) AS recent_orders FROM products WHERE order_date >= '2024-01-01';

結果:

recent_orders
6

5. まとめ

これらのテクニックを組み合わせることで、実践的なデータ分析が可能になります。