ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > SQL in Excel > 如何根据成绩表提取倒数10%的学生进行补考

如何根据成绩表提取倒数10%的学生进行补考

作者:绿色风 分类: 时间:2022-08-18 浏览:106
楼主
亡者天下
某学校,需要保证考试的通过率,也需要一定人数的学生进行补考,

现在根据成绩表,提取倒数10%的学生进行补考,该怎么现实?

成绩表:                                             


 

下面的代码可以实现反排名:


  1. Select 学号,姓名,
  2. (Select 1+count(*) From [Sheet1$A:F] where 语文>a.语文) as 名次
  3. from [Sheet1$A:F]a order by 语文



 

现在需要得到倒数10%的学生,也就是上表的最上面两个学生,


 

通过以下代码可以实现


  1. select a.学号,a.姓名,
  2. (select 1+count(*) from [Sheet1$A1:F21] Where 语文>a.语文) as 名次
  3. from (select Top 10 Percent * from [Sheet1$A1:F21] order by 语文)a


详见附件!


根据成绩表统计补考学生名单.rar
2楼
wise
小天有点违背原创的感觉
3楼
亡者天下


这个是编辑采录哦!小7老师!
4楼
wise
编辑采录如果使用别人答案需要征求正确答案的一方的意见。
除非自己也给出自己的答案,使用别人答案就不太好了
5楼
亡者天下
原来是这么回事啊

看来,我对很多规定还是不熟悉啊

我去征求一下wjc版主的意见吧
6楼
LOGO
楼主的标题应该改一下吧,从楼主的SQL语句来看是提取语文成绩倒数10%的学生进行补考
  1. select top 10 percent 学号,姓名 from (Select 学号,姓名,(Select 1+count(*) From [Sheet1$A:F] where 语文>a.语文) as 名次 from [Sheet1$A:F]a order by 语文)
下面这个语句更能体现SQL的高度过程化。
  1. select top 10 percent 学号,姓名,(Select 1+count(*) From [Sheet1$A:F] where 语文>a.语文) as 名次 from [Sheet1$A:F]a order by 语文

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap