レコードの値の平均値を求めるSQLを紹介します。
の書式でAVG関数を呼び出します。
特定の条件に一致するレコードの平均を求める場合は
特定の列でグループにまとめて集計する場合は
とします。
| id | name | price | category |
|---|---|---|---|
| 1 | Penguin | 250 | Bird |
| 2 | Bear | 1050 | Mammal |
| 3 | Duck | 150 | Bird |
| 4 | Camel | 550 | Mammal |
| 5 | Owl | 185 | Bird |
| 6 | Whale | 880 | Mammal |
上記のテーブルで"price"の平均を求める場合は以下のSQLを実行します。
select AVG(price) from products
結果は以下となります。
| (列名なし) |
|---|
| 510.833333 |
列名を付ける場合のSQLは以下になります。
select AVG(price) as average from products
select agerage=AVG(price) from products
結果は以下となります。
| average |
|---|
| 510.833333 |
| id | name | price | category |
|---|---|---|---|
| 1 | Penguin | 250 | Bird |
| 2 | Bear | 1050 | Mammal |
| 3 | Duck | 150 | Bird |
| 4 | Camel | 550 | Mammal |
| 5 | Owl | 185 | Bird |
| 6 | Whale | 880 | Mammal |
上記のテーブルでcategoryが"Mammal"の平均を求める場合は以下のSQLを実行します。
select AVG(price) from products where category='Mammal'
結果は以下となります。
| (列名なし) |
|---|
| 826.666666 |
列名を付ける場合のSQLは以下になります。
select AVG(price) as average from products where category='Mammal'
または
select agerage=AVG(price) from products where category='Mammal'
結果は以下となります。
| average |
|---|
| 826.666666 |
group by を用いると指定した列ごとのグループにまとめて、集計することができます。
| id | name | price | category |
|---|---|---|---|
| 1 | Penguin | 250 | Bird |
| 2 | Bear | 1050 | Mammal |
| 3 | Duck | 150 | Bird |
| 4 | Camel | 550 | Mammal |
| 5 | Owl | 185 | Bird |
| 6 | Whale | 880 | Mammal |
上記のテーブルでcategoryごとの平均を求める場合は以下のSQLを実行します。
select category,AVG(price) as average from products group by category
結果は以下となります。
| category | average |
|---|---|
| Bird | 195.000000 |
| Mammal | 826.666666 |