免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2609 | 回复: 8
打印 上一主题 下一主题

请教:oracle怎样用sql语句选择某表的第二个记录? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-19 16:31 |只看该作者 |倒序浏览
有表tbl:
name  age  
abc     20
def     30
ghi     25
jkl       28

怎么用sql选择第二条记录?

论坛徽章:
0
2 [报告]
发表于 2005-12-19 16:34 |只看该作者
什么叫表的第二条记录?

论坛徽章:
0
3 [报告]
发表于 2005-12-19 16:36 |只看该作者
就是 def 这一行所在的纪录

论坛徽章:
0
4 [报告]
发表于 2005-12-19 16:39 |只看该作者
在mysql 中可以用select * from tbl limit 1 offset 2,可是oracle好像不支持这样子用哦

论坛徽章:
0
5 [报告]
发表于 2005-12-19 17:03 |只看该作者
oracle好象是不支持选择第二条记录这样的操作的。
可以通过子查询选择前几条,但必须是从第一条开始的几条,不支持从中间选择几条的吧!
例如:(选择表的前两行)
select * from (select * from test_table order by col_1) where rownum<3;

论坛徽章:
0
6 [报告]
发表于 2005-12-19 17:10 |只看该作者
刚刚参考坛子里以前的帖子:http://bbs.chinaunix.net/viewthread.php?tid=611631

弄出来了select  a.name,a.age from (select rownum r,name,age from tbl) a where a.r=2;

论坛徽章:
0
7 [报告]
发表于 2005-12-19 17:28 |只看该作者
哈哈,不错!

论坛徽章:
0
8 [报告]
发表于 2005-12-19 18:07 |只看该作者
哦,钻牛角尖了.应该是如果是在记录数很多时找倒数的第二条记录时用这种方法比较呛...

[ 本帖最后由 pydwh 于 2005-12-19 20:34 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2005-12-20 08:47 |只看该作者
那应该怎么找倒数第二条记录呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP