SQL AVG() 関数
SQL AVG() 関数
AVG() 関数は数値列の平均値を返します。
例
すべての製品の平均価格を見つけます:
SELECT AVG(Price)
FROM Products;
注意:NULL 値は無視されます。
構文
SELECT AVG(column_name)
FROM table_name
WHERE condition;
デモデータベース
以下は、例に使用される Products テーブルからの選択です:
ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
---|---|---|---|---|---|
1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18 |
2 | Chang | 1 | 1 | 24 – 12 oz bottles | 19 |
3 | Aniseed Syrup | 1 | 2 | 12 – 550 ml bottles | 10 |
4 | Chef Anton’s Cajun Seasoning | 2 | 2 | 48 – 6 oz jars | 22 |
5 | Chef Anton’s Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
WHERE 句の追加
条件を指定するために WHERE 句を追加することができます:
SELECT AVG(Price)
FROM Products
WHERE CategoryID = 1;
エイリアスの使用
AVG 列に名前を付けるために AS キーワードを使用します。
SELECT AVG(Price) AS [average price]
FROM Products;
平均価格を超えるものを選択
平均価格より高い価格のすべてのレコードをリストアップするには、サブクエリ内で AVG() 関数を使用します:
SELECT * FROM Products
WHERE price > (SELECT AVG(price) FROM Products);
GROUP BY と AVG() の使用
ここでは、AVG() 関数と GROUP BY 句を使用して、Products テーブル内の各カテゴリの平均価格を返します:
SELECT AVG(Price) AS AveragePrice, CategoryID
FROM Products
GROUP BY CategoryID;