五、多表连接查询——数据分组

五、多表连接查询——数据分组

1.数据分组背景

当汇总成绩时,需要年级之间的横向对比,比如高中一年级,然后将一年级1班、2班、...,一直到所有班级的成绩进行对比,这个时候就需要分组汇总进行统计聚合。

2.如何使用分组查询

(1)语法如下:

select 列名或者聚合函数 from 表名
[where 条件表达式]
group by 分组列;

(2)示例1:

根据class列进行聚合。

select * from grade_score group by class;

#count(*)表示计算查询的数据有多少条
select *,count(*) from grade_score group by class;

(3)示例2:

使用聚合函数求每个年级的总成绩。

select *,sum(score) from grade_score group by class;

(4)示例3:

计算每个年级的平均分。

select *,sum(score)/count(class) from grade_score group by class;

select *,avg(score) from grade_score group by class;

select class,avg(score) from grade_score group by class;

(5)示例4:

汇总每个班级的人数。

select class,count(class) from grade_score group by class;

(6)示例5:

将成绩大于80的同学进行分组统计平均分数。

【注意点:where条件过滤先发生,然后再进行分组统计】

select class,avg(score) from grade_score where score>80 group by class;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章