重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2647|回复: 2
打印 上一主题 下一主题

[讨论] 分类函数的案例

[复制链接]
跳转到指定楼层
楼主
发表于 2018-3-19 10:54:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提问:
这样一个表 tb
id|class|marks
1|1|100
2|1|99
3|2|97
4|3|85
5|2|90
....

想在一次查询当中,获取每个班的前三名。怎么实现呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

沙发
 楼主| 发表于 2018-3-19 10:55:25 | 只看该作者
参考学习哟!
select * from tb t1 where (select count(*)+1 from tb t2 where t2.class=t1.class and t2.marks> t1.marks)<=3 order by class,marksdesc
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2018-3-19 10:59:22 | 只看该作者
分析函数,上面写错了,抱歉!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-5-4 18:33 , Processed in 0.100554 second(s), 19 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表