这道题目要求我们计算每个岗位的平均分数,我们要做的事情如下:
1. 确定总体问题
我们需要计算每个岗位的平均分数,并按平均分数降序排列,结果保留小数点后三位。
2. 分析关键问题
- 计算平均分数:使用
AVG
函数计算每个岗位的平均分数。 - 保留小数点后三位:使用
ROUND
函数保留小数点后三位。 - 排序输出:按平均分数降序排列输出结果。
3. 解决每个关键问题的代码及讲解
步骤1:计算平均分数
我们使用AVG
函数计算每个岗位的平均分数:
select
job,
round(avg(score), 3) as avg
...
group by
job
AVG(score)
: 计算每个岗位的平均分数。GROUP BY job
: 按岗位分组计算平均分数。
步骤2:保留小数点后三位
我们使用ROUND
函数保留小数点后三位:
round(avg(score), 3) as avg
ROUND(AVG(score), 3)
: 保留小数点后三位。
步骤3:排序输出
我们按平均分数降序排列输出结果:
order by
round(avg(score), 3) desc
ORDER BY ROUND(AVG(score), 3) DESC
: 按平均分数降序排列。
完整代码
select
job,
round(avg(score), 3) as avg
from
grade
group by
job
order by
round(avg(score), 3) desc;