SQL实战 10.高频SQL面试题 考试分数系列

您所在的位置:网站首页 sql查询分数排名面试题 SQL实战 10.高频SQL面试题 考试分数系列

SQL实战 10.高频SQL面试题 考试分数系列

2024-01-02 15:31| 来源: 网络整理| 查看: 265

SQL面试题考试分数系列(一) 描述

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

 

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

。。。

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

 

 

请你写一个sql语句查询各个岗位分数的平均数,并且按照分数降序排序,结果保留小数点后面3位(3位之后四舍五入):

 

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

SQL如下 select job ,avg from ( select job,round(avg(score),3) as avg from grade group by job ) a order by avg desc

 

  SQL面试题考试分数系列(二) 描述

牛客每次考试完,都会有一个成绩表(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)

 SQL如下 select b.id,b.job,b.score from (select job ,avg from ( select job,round(avg(score),3) as avg from grade group by job ) a order by avg desc)a, grade b where a.job=b.job and a.avg


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3