问题:请你写一个sql语句查询用户分数大于其所在工作(job)分数的平均分的所有grade的属性,并且以id的升序排序,如下:
问题拆解:1.找出各个工作的平均分
(SELECT job, AVG(score) AS avg FROM grade
GROUP BY job
ORDER BY job) re
2.找出原始表格grade中符合条件的内容,和新表re做一个链接
3.排序 order by
以上。
SELECT g.id, g.job, g.score FROM grade g
JOIN (SELECT job, AVG(score) AS avg FROM grade
GROUP BY job
ORDER BY job) re
ON g.job=re.job
WHERE g.score>re.avg
ORDER BY g.id