作者:绿色风
分类:
时间:2022-08-18
浏览:179
楼主 亡者天下 |
某学校,需要保证考试的通过率,也需要一定人数的学生进行补考,
现在根据成绩表,提取倒数10%的学生进行补考,该怎么现实?
成绩表:
下面的代码可以实现反排名:
- Select 学号,姓名,
- (Select 1+count(*) From [Sheet1$A:F] where 语文>a.语文) as 名次
- from [Sheet1$A:F]a order by 语文
现在需要得到倒数10%的学生,也就是上表的最上面两个学生,
通过以下代码可以实现
- select a.学号,a.姓名,
- (select 1+count(*) from [Sheet1$A1:F21] Where 语文>a.语文) as 名次
- 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%的学生进行补考- select top 10 percent 学号,姓名 from (Select 学号,姓名,(Select 1+count(*) From [Sheet1$A:F] where 语文>a.语文) as 名次 from [Sheet1$A:F]a order by 语文)
下面这个语句更能体现SQL的高度过程化。- 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总版主之一