| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 226 人关注过本帖
标题:各位大侠,使用SQL语句能否一次性取得各班成绩前20%的学生的信息
只看楼主 加入收藏
schtg
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:Usa
等 级:贵宾
威 望:67
帖 子:2358
专家分:4878
注 册:2012-2-29
结帖率:93.75%
收藏
 问题点数:20 回复次数:11 
各位大侠,使用SQL语句能否一次性取得各班成绩前20%的学生的信息
各位大侠,现有一表,能否使用SQL语句一次性取得 各班 成绩从高到低的前20%的学生的信息(单独按班分别获取,可以办到),谢谢!
stu.rar (993 Bytes)
搜索更多相关主题的帖子: 成绩 SQL 学生 语句 信息 
昨天 18:17
kangss
Rank: 8Rank: 8
等 级:贵宾
威 望:14
帖 子:389
专家分:902
注 册:2014-6-12
收藏
得分:0 
以下是引用schtg在2025-12-13 18:17:16的发言:

各位大侠,现有一表,能否使用SQL语句一次性取得 各班 成绩从高到低的前20%的学生的信息(单独按班分别获取,可以办到),谢谢!

试了半天,一行语句不成功,因为SQL只要加了“TOP 20%”,就已经不能把其他班级查询出来。
昨天 18:38
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10948
专家分:43584
注 册:2014-5-20
收藏
得分:0 
算出20%是多少条记录,有个问题是相同成绩的怎计数?
昨天 18:55
schtg
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:Usa
等 级:贵宾
威 望:67
帖 子:2358
专家分:4878
注 册:2012-2-29
收藏
得分:0 
回复 3楼 吹水佬
相同成绩计算在内,要算上的哈。我是要取出各班成绩的前20%的学生的信息,包括姓名、班级、成绩等数据,谢谢!

[此贴子已经被作者于2025-12-13 18:58编辑过]

昨天 18:56
schtg
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:Usa
等 级:贵宾
威 望:67
帖 子:2358
专家分:4878
注 册:2012-2-29
收藏
得分:0 
回复 2楼 kangss
我也是试了很久,都没有搞定的,谢谢!
昨天 18:56
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10948
专家分:43584
注 册:2014-5-20
收藏
得分:0 
是不是这意思:有120个学生,取前20%就是前24个。
昨晚 19:11
schtg
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:Usa
等 级:贵宾
威 望:67
帖 子:2358
专家分:4878
注 册:2012-2-29
收藏
得分:0 
回复 6楼 吹水佬
按班来取,比如1班有55个学生,那么就取前11名,2班有60个学生,那么就取前12名,以此类推。
昨晚 19:12
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10948
专家分:43584
注 册:2014-5-20
收藏
得分:0 
以下是引用schtg在2025-12-13 19:12:59的发言:

按班来取,比如1班有55个学生,那么就取前11名,2班有60个学生,那么就取前12名,以此类推。

CREATE CURSOR tt (f1 I, f2 I)
FOR i=1 TO 100
    INSERT INTO tt VALUES (i,i*2)
ENDFOR
SELECT TOP (RECCOUNT()*0.2) * FROM tt ORDER BY f1 DESC
昨晚 21:12
schtg
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:Usa
等 级:贵宾
威 望:67
帖 子:2358
专家分:4878
注 册:2012-2-29
收藏
得分:0 
回复 8楼 吹水佬
吹版主,这就是一个班中取前20%的情形,我需要的是一个自由表中 一次性 获取 5个班、或10个班、或更多班级的总分前20%的学生的信息,不是一个班一个班的获取,谢谢!
9 小时前
my2318
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:14
帖 子:313
专家分:699
注 册:2014-3-18
收藏
得分:0 
个人理解,60人的班级,前20%应该是成绩高于或等于第12名成绩的集合,返回人数应该多于或等于12 人,能否一次取回多班结构,取决于数据表结构,平板上打不开附件,不好臆断
8 小时前
快速回复:各位大侠,使用SQL语句能否一次性取得各班成绩前20%的学生的信息
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046853 second(s), 9 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved