sql 分组查询-mysql

group by <分组项> [having <分组筛选条件>]

1.统计各班人数:

select 班级编号,count(*) as total from 学生表 group by 班级编号

2.统计各职称教师人数:

select 职称,count(*) as total

from 教师表

group by 职称

order by 职称

3.统计职称在2人以上及该职称的人数:

select 职称,count(*) as total

from 教师表

group by 职称

having count(*)>=2

4.选课在三门以上的学生学号及平均成绩

select 学生学号,avg(成绩)

from 成绩表

group by 学生学号

having count(*) >=3

5.选课在三门以上及分数不低于80分的学生学号及平均分:

select 学生学号,avg(分数) as 平均成绩

from 成绩表

where 分数 >= 80

group by 学生学号

having by count(*) >=3