求考试分数大于平均分数的数据
考试分数(二)
http://www.nowcoder.com/practice/f456dedf88a64f169aadd648491a27c1
- 首先根据题目要求,查询用户分数大于该岗位平均分数的数据,这一点很重要,因此我们需要先以岗位类型分组,然后求该类型岗位的平均分数,这里需要用到平均数函数AVG,并且为了跟准确,我们保留小数点后三位,会用到函数round
select job, round(avg(score), 3) as score1 from grade group by job
- 第一步查询得到一个临时表,表的信息为岗位 : 平均工资
- 接下来,我们将临时表与原来的数据表进行合并,并求分数大于平均分数的数据,同时使用order by 进行正序排序
select a.* from
grade as a
left join
(select job, round(avg(score), 3) as score1 from grade group by job) AS b
on a.job = b.job
where a.score > b.score1
order by a.id;