---
title: 5. 集計・集約
tags:  #リレーショナルデータベース #sql #集計・集約 #group by #count #max #min #avg #sum  
author: [kunihikokaneko](https://www.docswell.com/user/6674398749)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/V7P9R98PJ8.jpg?width=480
description: リレーショナルデータベースの基本（スライド資料とプログラム例） https://www.kkaneko.jp/de/ds/index.html       ds-1. データベースとは，データベースシステムとは，情報とデータ     ds-2. SQL，SQL のデータ型，テーブル定義，問い合わせ（クエリ）     ds-3. ER 図，関連，異状, テーブル分解     ds-4. 問い合わせ（クエリ）     ds-5. 集計・集約     ds-6. 並べ替え（ソート）     ds-7. 結合     ds-8. データベースの異状，分解と結合     ds-9. 主キー，参照整合性制約，従属     ds-10. 中間まとめ，データベースの応用，データベースの種類     ds-11. SQL のIN，副問い合わせ     ds-12. データベースの AND，OR，NOT     ds-13. データベース操作，トランザクション，リカバリ，ロック，同時実行制御     ds-14. 従属，正規形，正規化     ds-15. さまざまなデータベース  YouTube 再生リスト「リレーショナルデータベースの基本」 https://youtube.com/playlist?list=PLwoDcGBEg9WGKPP6dExr8DcUf9nV2kYGD  金子邦彦研究室ホームページ: https://www.kkaneko.jp/index.html
published: January 12, 22
canonical: https://www.docswell.com/s/6674398749/KXW8GZ-2022-01-12-111109
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/V7P9R98PJ8.jpg)

5. 集計・集約
URL: https://www.kkaneko.jp/de/ds/index.html
金子邦彦
謝辞：この資料では「いらすとや」のイラストを使用しています
1


# Page. 2

![Page Image](https://bcdn.docswell.com/page/2JVMRMNVJQ.jpg)

リレーショナルデータベースシステム
データベースシステムの一種
コンピュータ
記憶
装置
リレーショナル リレーショナル
データベース
データベース
管理システム
たくさんのテーブルが格納される
あわせて
リレーショナルデータベースシステム
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/5EGGMGK1EL.jpg)

問い合わせ（クエリ）の仕組み
問い合わせ（クエリ）
の結果は，テーブル形式の
データ
問い合わせ
（クエリ）
のコマンド
リレーショナル
データベースシステム
データの種類ごとに分かれ
た、たくさんのテーブル
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/4JQXRXNNEP.jpg)

SQL による問い合わせの例
① SELECT * FROM 商品;
② SELECT 名前, 単価 FROM 商品;
③ SELECT 名前, 単価 FROM 商品 WHERE 単価 &gt; 80;
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/K74686G3E1.jpg)

Access で SQLビューを開く．
①「作成」タブで、
「クエリデザイン」
をクリック
このような
表示が出た
ときは
「閉じる」を
クリック
②「デザイン」タブで、
「表示」を展開し「SQL
ビュー」を選ぶ
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/LJ1V2VDZEG.jpg)

アウトライン
番号
項目
説明時間の
目安
5-1
分布，密度，平均
15分
5-2
集計・集約
6分
5-3
SQL での集計・集約
9分
5-4
Access を用いた集計・集約の実演・実習
14分
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/GJWLRLY6E2.jpg)

内容
• SQL を用いた集計・集約の方法、そのバリエーションを知る
グループ化の基準となる属性（複数可能）、
集計・集約の種類
• 米国成人調査データを利用した演習
調査に協力した人たちの年
齢分布は？
教育と年収の関係を見る
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/4EZMRMXRJ3.jpg)

5-1. 分布，ヒストグラム，平均
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/Y76NRN417V.jpg)

データベースの重要性
• データから，正しく知見や結論を導くこと
平均，分散などの算出．
要因や連関の度合いの算出．
• さまざまな応用がある
• 大量のデータを使い，データの分析を行う人工
知能（データの分析で，人間とAIが協同する）
など
授業では，人間が「データベースシステム」を使い，データの利活用を行う
ことを説明
※ 人工知能については，別の選択科目の授業で説明します
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/G75585QL74.jpg)

分布から読み取れること
２つの量に関係がある
密集
縦
軸
は
花
び
ら
の
幅
密集
密集
かたまり
かたまり
横軸は花びらの長さ
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/9J2NKNP3ER.jpg)

ヒストグラム
ヒストグラムは，区間ごとに，データを数え上げた
もの
データが
何個あるのか
区間 0.6 ～ 1.1 の
データは 10個
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/DEYPNP58EM.jpg)

ヒストグラムから読み取れること
密度が高い
密度が低い
【全体の傾向】
山が２つある（１つではない）
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/VJN5X5N978.jpg)

平均
• 平均の基本，合計して，データの個数で割る
10, 40, 30, 40 の平均: 120 ÷ 4 で 30
平均は，データ集合の代表とみ
ることができる場合がある
平均
計測に誤差があるとき，
複数の計測を繰り返し，平均をとる
ことで，誤差を軽減できることも
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/YE9Y8YR3J3.jpg)

平均を使うときの注意点
平均
平均
このような平均に，
意味があるでしょうか？
データの分布によっては，平均では役に
立たないこともある．
（平均は万能ではない）
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/GE8686WL7D.jpg)

データサイエンスの要点
• データから，正しく知見や結論を導くこと
平均
誤差がある．平均値は，正解に
近いだろう
• 決して「難解な数式が出てきて難しい」ものでは
ない
• 正しい手順を踏んで，データから知見や結論を導
くことにつながる
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/LEL9R9NQJR.jpg)

まとめ
思い込みを疑い，根拠を確認することが大切．
⇒
データベースの活用
データの分析を行うというとき，ヒストグラム，平
均などに着目する
• 分布：
データ全体の傾向
• ヒストグラム：
• 平均：
分布をみる１つの手段
データを代表する値
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/4JMZRZQKEW.jpg)

5-2. 集計・集約
17


# Page. 18

![Page Image](https://bcdn.docswell.com/page/PJR6R68679.jpg)

集計・集約の例
元データ
A
B
3
2
行数
A
B
90
93
得点の平均
18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/PEXMRM8D7X.jpg)

集計・集約
◆ 集計・集約は、データをグループ化して、
グループごとに何らかの計算を行うこと
A
B
3
2
行数
Aさんは 3科目
Bさんは 2科目受講した
A
B
90
93
得点の平均
Aさんは平均 90
Bさんは平均 93
19


# Page. 20

![Page Image](https://bcdn.docswell.com/page/3EKGRGKDJD.jpg)

集計・集約のバリエーション①
集計・集約の種類のバリエーション
元データ
A
B
270
186
A
B
3
2
行数
A
B
90
93
得点の平均
A
B
95
96
得点の最大
A
B
85
90
得点の最小
得点の合計
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/L73N8NZP75.jpg)

集計・集約のバリエーション②
グループ化の基準となる属性のバリエーション
A
B
3
2
行数
A
B
90
93
得点の平均
「受講者」でグループ化
国語
算数
理科
2
2
1
行数
グループ化の基準となる属性は、
1個でもよいし複数個でもよい
（あとで実演・実習）
国語
算数
理科
87.5
93
95
得点の平均
「科目」でグループ化
21


# Page. 22

![Page Image](https://bcdn.docswell.com/page/87DWMWR3JG.jpg)

グループ化の基準が受講者
「受講者」でグループ化
元データ
A
B
90
93
得点の平均
22


# Page. 23

![Page Image](https://bcdn.docswell.com/page/VJP9R9WPE8.jpg)

グループ化の基準が科目
「科目」でグループ化
元データ
国語
算数
理科
87.5
93
95
得点の平均
23


# Page. 24

![Page Image](https://bcdn.docswell.com/page/2EVMRM8VEQ.jpg)

5-3. SQL での集計・集約
24


# Page. 25

![Page Image](https://bcdn.docswell.com/page/57GGMG517L.jpg)

SQL での集計・集約の書き方
select ○, ○, ○
フィールド名、
count(*)
sum(集計するフィールド名)
avg(集計するフィールド名)
max(集計するフィールド名)
min(集計するフィールド名) を並べる
from ＜集計・集約したいテーブル名＞
group by ＜グループ化の基準＞
25


# Page. 26

![Page Image](https://bcdn.docswell.com/page/4EQXRXZN7P.jpg)

SQL のキーワード
• 行数
count
• 合計
sum
• 平均
avg
• 最大
max
• 最小
min
26


# Page. 27

![Page Image](https://bcdn.docswell.com/page/KJ46863371.jpg)

集計・集約を行う問い合わせ（クエリ）の例
集計・集約結果は
１つのテーブル
select 受講者, count(*)
from 成績
group by 受講者;
問い合わせ（クエリ）
のコマンド
A
B
3
2
結果
成績テーブル
27


# Page. 28

![Page Image](https://bcdn.docswell.com/page/LE1V2V1Z7G.jpg)

集計・集約を行う問い合わせ（クエリ）の例
select 受講者, avg(得点) from 成績 group by 受講者;
select 科目, avg(得点) from 成績 group by 科目;
グループ化の基準の違い
（Access での実行結果画面を示す）
28


# Page. 29

![Page Image](https://bcdn.docswell.com/page/GEWLRL8672.jpg)

5-4. Access を用いた集計・集
約の実演・実習
29


# Page. 30

![Page Image](https://bcdn.docswell.com/page/47ZMRM8RE3.jpg)

実演・実習で使うデータベース
米国成人調査データ
（１９９４年、米国における統計調査データのうち 32561 人分）
※ このデータを使います
（演習では、特定の職業、学歴、性別、母国を差別的に見ないようにしてください）
データの出典：Lichman, M. (2013).
UCI Machine Learning Repository [http://archive.ics.uci.edu/ml].
Irvine, CA: University of California, School of Information and Computer Science （米国）
30


# Page. 31

![Page Image](https://bcdn.docswell.com/page/YJ6NRNP1JV.jpg)

演習用のデータベースファイル
• 演習用の Access データベースファイル
セレッソの利用者は，セレッソからもダウンロード可能
ファイル名: db4-4.accdb
（第４回授業と同じファイル）
• 「コンテンツの有効化」のメッセージが出たときは、確認
のうえ、次にすすむ
• つぎのような表示が出たときは、確認のうえ、「はい」
31


# Page. 32

![Page Image](https://bcdn.docswell.com/page/GJ5585KLJ4.jpg)

米国成人調査データ
32


# Page. 33

![Page Image](https://bcdn.docswell.com/page/LE3N8NZDE5.jpg)

SELECT 年齢, count(*)
FROM 米国成人調査データ
GROUP BY 年齢;
・空白文字や , や count(*) は半角
・「;」は最後にだけ
調査に協力した人たちの年齢分布は？
33


# Page. 34

![Page Image](https://bcdn.docswell.com/page/8EDWMWR27G.jpg)

SELECT 教育, count(*)
FROM 米国成人調査データ
GROUP BY 教育;
・空白文字や , や count(*) は半角
・「;」は最後にだけ
調査に協力した人たちの教育の分布は？
34


# Page. 35

![Page Image](https://bcdn.docswell.com/page/V7P9R9WLJ8.jpg)

SELECT 週当たり労働時間, count(*)
FROM 米国成人調査データ
GROUP BY 週当たり労働時間;
・空白文字や , や count(*) は半角
・「;」は最後にだけ
調査に協力した人たちの週当たり労働時間の分布は？
35


# Page. 36

![Page Image](https://bcdn.docswell.com/page/2JVMRM86JQ.jpg)

SELECT 年収５万ドル以上か, count(*)
FROM 米国成人調査データ
GROUP BY 年収５万ドル以上か;
・空白文字や , や count(*) は半角
・「年収５万ドル以上か」は全角
・「;」は最後にだけ
36


# Page. 37

![Page Image](https://bcdn.docswell.com/page/5EGGMG52EL.jpg)

SELECT 教育, 年収５万ドル以上か, count(*)
FROM 米国成人調査データ
GROUP BY 教育, 年収５万ドル以上か;
・空白文字や , や count(*) は半角
・「年収５万ドル以上か」は全角
・「;」は最後にだけ
教育と年収の関係を見る
37


# Page. 38

![Page Image](https://bcdn.docswell.com/page/4JQXRXZ9EP.jpg)

全体まとめ
• データに基づいた分析は極めて重要
• データの分析を行うというとき，ヒストグラム，
平均などに着目する
• 集計・集約は、データをグループ化して、グルー
プごとに何らかの計算を行うこと
• SQL による集計・集約の例
select 受講者, count(*)
from 成績
group by 受講者;
A
B
3
2
38


