选出每个班级总分前三的记录
2015-09-08 08:58
190 查看
要求:选出每个班级总分前三的记录
或:分组后选择每组前三的记录
有表结构如下:
name为姓名,class为班级,score为分数,subject为科目。
示例数据如下:
数据未完全列出。。
要求:一条SQL语句选择出每个班级总分排名前三的记录。
直接上代码:
select name,class,score from
(
select name,class,score, row_number() over (partition by class order by score desc) rn from
(
select t.name,t.class,sum(t.score) score from ZENGTEST t group by t.name,t.class
order by t.class,score desc
)
) where rn < 4;
关键函数:row_number() over (partition by class order by score desc)
或:分组后选择每组前三的记录
有表结构如下:
name为姓名,class为班级,score为分数,subject为科目。
示例数据如下:
数据未完全列出。。
要求:一条SQL语句选择出每个班级总分排名前三的记录。
直接上代码:
select name,class,score from
(
select name,class,score, row_number() over (partition by class order by score desc) rn from
(
select t.name,t.class,sum(t.score) score from ZENGTEST t group by t.name,t.class
order by t.class,score desc
)
) where rn < 4;
关键函数:row_number() over (partition by class order by score desc)
相关文章推荐
- springmvc笔记
- Bubble sort 冒泡排序
- ios Crash闪退日志获取和上传至服务器(NSSetUncaughtExceptionHandler)
- MVC学习
- Android Bitmap详细介绍(转)
- ASP.NET设计FTP文件上传的解决方案
- 删除流氓软件McAfee
- 二分查找,递归与非递归实现
- Cocos2dx引擎笔记——渲染和动画
- C语言实现一个去除字符串中的首尾空格,字母中间有多个空格的去除多余的,剩余一个空格
- nios ide 编译出错java.net.MalformedURLException unknown protocol e解决方法
- swift 传入多个枚举类型 '|'
- STM32F4 How do you generate complementary PWM Outputs?
- 2015年下半年信息系统项目管理师论文必过写作要点
- HDU 2067 小兔的棋盘(递推)
- 常用位运算整理
- SQL学习总结笔记
- rar ubuntu
- Java永久代去哪儿了
- Java永久代去哪儿了