oracle9i中如何查询指定行范围内的所有记录集

sparadise1003 2012-02-26 07:43:01
举个例子,我先子啊有一个表userTable,结构和内容如下:
userName | loginTime | title | content
----------------------------------------------------------------------------------------
张三 | 2012-02-26 06:33 343 | 爱情买卖 | 当初是你要分开分开就分开……
李四 | 2012-02-26 07:37 245 | 龙的传人 | 古老的东方有一条龙,他的名字叫长城……
……

假如说表中之前有100条记录,但过了一段时间后表中有110条记录,我现在想获得表中100行之后所有userName=张三的 title 和 content,请问朋友应该如何实现呢?
...全文
109 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2012-02-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 sparadise1003 的回复:]
举个例子,我先子啊有一个表userTable,结构和内容如下:
userName | loginTime | title | content
----------------------------------------------------------------------------------------
张三 | 2012-02-26 06:33 343 | 爱情买卖 | 当初……
[/Quote]
你应该有个序列号,或是时间字段,这样可以得到你说的100条记录之后的东西.


--假设根据loginTime来区分先后

select m.userName , m.loginTime , m.title , m.content from
(
select t.* , row_number() over(order by loginTime) px from usertable t
) m
where xh > 100 and username = '张三'

--假设你有个序号,字段名为xh

select m.userName , m.loginTime , m.title , m.content from
(
select t.* , row_number() over(order by xh) px from usertable t
) m
where xh > 100 and username = '张三'
我心飞翔 2012-02-26
  • 打赏
  • 举报
回复
Oracle不会自动记录你插入记录的顺序。必须增加字段来自己标明插入顺序。
tangren 2012-02-26
  • 打赏
  • 举报
回复
首先你必须有一个字段来表明插入的顺序,如登录时间等,因为oracle表中记录是不会有先后次序的。
如果是按loginTime时间顺序来插入记录,则可用如下语句来查询(类似分页语句):
select * from (
select rownum rn, a.* from (select * from userTable order by loginTime) a where rownum<=110)
where rn>100 and userName='张三';

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧