集約関数とは
SQLでテーブルの値を集計するために使う 関数(function) です。
関数(function)とは、さまざまな計算をまとめたものです。
sum集約関数
合計値を求める集約関数です。
基本構文
1 2 |
sum(expr) |
※exprの合計値を返します。
例題:cityテーブルのID「1」~「4」のPopulationの合計値を出してください
1 2 3 4 5 6 7 8 9 |
use world; select sum(Population) from city where ID >= '1' and ID < '5'; |
avg集約関数
平均値を求める集約関数です。
基本構文
1 2 |
avg(expr) |
※exprの平均値を返します。
例題:cityテーブルのPopulationの平均値を出してください
1 2 3 4 5 6 |
use world; select avg(Population) from city; |
min集約関数
最小値を求める集約関数です。
基本構文
1 2 |
min(expr) |
※exprの最小値を返します。
例題:cityテーブルのPopulationの最小値を出してください
1 2 3 4 5 6 |
use world; select min(Population) from city; |
max集約関数
最大値を求める集約関数です。
基本構文
1 2 |
max(expr) |
※exprの最大値を返します。
例題:cityテーブルのPopulationの最大値を出してください
1 2 3 4 5 6 |
use world; select max(Population) from city; |
count集約関数
対象の行数を数える集約関数です。
基本構文
1 2 |
count(expr) |
- exprの行数を数えます。
- count(*) とするとテーブルの行数を取得できます。
例題:countryテーブルの数を出してください
1 2 3 4 5 6 |
use world; select max(Population) from city; |
練習1:countryテーブルでContinetがAsiaの数を出してください
構文を利用してテーブル情報を取得してみてください。
【初心者向けDB講座-MySQL編-】#4-1(練習の答え)
重複を排除したcount
構文
1 2 |
count(distinct expr) |
- exprの行数を重複を排除して数えます。
例)ユニークユーザー数を求める
user_id |
---|
10 |
20 |
30 |
50 |
20 |
20 |
1 2 |
count(distinct user_id) |
- 重複を排除した 4人 (10,20,30,50)が数えられる
例題:countryテーブルでContinentがAsiaでIndepYearが重複しているものは排除して数を出してください
1 2 3 4 5 6 7 8 9 |
use world; select count(distinct IndepYear) from country where Continent='Asia' ; |
- 重複を排除しないと 47 になります。