表里面记录的是学生的成绩和所属年级,每个年级取前5名。
表结构:
学生ID, 学生姓名,学生成绩,所属年级
------------------
1 张三 90 1
2 张亿 93 1
....
11 李三 90 2
12 李亿 93 2每个年级有大概100名学生,年级个数不定(有的就取出来),但是每个年级只取前5名的记录出来。
一句sql可以实现吗?
表结构:
学生ID, 学生姓名,学生成绩,所属年级
------------------
1 张三 90 1
2 张亿 93 1
....
11 李三 90 2
12 李亿 93 2每个年级有大概100名学生,年级个数不定(有的就取出来),但是每个年级只取前5名的记录出来。
一句sql可以实现吗?
解决方案 »
- delphi向oracle里导数据提示ORA-01401:inserted value too large for columm
- 【难题】如何计算节点的深度
- 怎样获取一个游标的长度?
- 监听程序无法启动专用服务器进程???
- 跨表有条件的插入数据
- 救命!windows2000或xp下的ORACLE数据库启动问题
- 9i,登陆OEM,以SYSDBA身份登陆,随便输什么用户名和密码都能进入!为什么呀??
- 打开记录集出错
- 如何限制表的记录数?
- oracle客户端 NLS_LANG的字符集冲突
- 关于数据库导入导出的字符集问题
- 请教,听说oracle官方网站有一个很大的资料库可以下载,但是我找半天也没找到,知道的高手给个链接啊! 谢谢~
(select tt.*,rank()over(partition by 年级 order by 成绩 desc)rk
from tt)
where rk<=5
from topic t
where rn<=5
from 成绩表 t
where rn <=5