成绩排名

一、问题描述

牛客每次考试完,都会有一个成绩表(grade),如下:

 

第1行表示用户id为1的用户选择了C++岗位并且考了11001分

。。。

第8行表示用户id为8的用户选择了前端岗位并且考了9999分

 

 

请你写一个sql语句查询用户分数大于其所在工作(job)分数的平均分的所有grade的属性,并且以id的升序排序,如下:

 

(注意: sqlite 1/2得到的不是0.5,得到的是0,只有1*1.0/2才会得到0.5,sqlite四舍五入的函数为round)

 

二、代码

select g.id,g.job,g.score from grade as g inner join
(select *,avg(score) as me from grade group by job) as t
on g.job=t.job and g.score>t.me
order by id asc

posted @ 2021-02-04 23:47  小千北同学超爱写代码  阅读(205)  评论(1编辑  收藏  举报