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

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

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

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

3 天前 18:56
schtg
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:Usa
等 级:贵宾
威 望:67
帖 子:2365
专家分:4878
注 册:2012-2-29
收藏
得分:0 
回复 2楼 kangss
我也是试了很久,都没有搞定的,谢谢!
3 天前 18:56
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10954
专家分:43591
注 册:2014-5-20
收藏
得分:0 
是不是这意思:有120个学生,取前20%就是前24个。
3 天前 19:11
schtg
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:Usa
等 级:贵宾
威 望:67
帖 子:2365
专家分:4878
注 册:2012-2-29
收藏
得分:0 
回复 6楼 吹水佬
按班来取,比如1班有55个学生,那么就取前11名,2班有60个学生,那么就取前12名,以此类推。
3 天前 19:12
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10954
专家分:43591
注 册: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
3 天前 21:12
schtg
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:Usa
等 级:贵宾
威 望:67
帖 子:2365
专家分:4878
注 册:2012-2-29
收藏
得分:0 
回复 8楼 吹水佬
吹版主,这就是一个班中取前20%的情形,我需要的是一个自由表中 一次性 获取 5个班、或10个班、或更多班级的总分前20%的学生的信息,不是一个班一个班的获取,谢谢!
前天 05:53
my2318
Rank: 8Rank: 8
等 级:贵宾
威 望:14
帖 子:313
专家分:709
注 册:2014-3-18
收藏
得分:7 
个人理解,60人的班级,前20%应该是成绩高于或等于第12名成绩的集合,返回人数应该多于或等于12 人,能否一次取回多班结构,取决于数据表结构,平板上打不开附件,不好臆断
前天 07:38
快速回复:各位大侠,使用SQL语句能否一次性取得各班成绩前20%的学生的信息
数据加载中...
 
   



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

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