请教,如何在db2数据库中,取出指定条数的结果集。

gottago 2009-03-02 09:11:51
oracle 可以用rownum,db2如何实现呢?
我在msg表中,按时间倒排序,取出五条数据,该如何写呢。。
select row_number() over(order by createdate) as number from msg
where number<5
但是不对。。还望高手请教。
...全文
364 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zwbhanye 2009-03-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 efan101 的回复:]
2楼是对的。但是为什么一定要用rownum?order by createdate后fetch first 5 rows only不可以吗?
[/Quote]

rownum是统计函数,大数据量就可以体现出来,他的速度会快很多!
liyan93834183 2009-03-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 efan101 的回复:]
2楼是对的。但是为什么一定要用rownum?order by createdate后fetch first 5 rows only不可以吗?
[/Quote]
还是你聪明!^-^
王帆 2009-03-03
  • 打赏
  • 举报
回复
2楼是对的。但是为什么一定要用rownum?order by createdate后fetch first 5 rows only不可以吗?
yangxiao_jiang 2009-03-03
  • 打赏
  • 举报
回复
楼上说的对,我忘记了
liyan93834183 2009-03-03
  • 打赏
  • 举报
回复
需要嵌套,用子查询
select * from
(select row_number() over(order by createdate) as number from msg ) as a
where number <5
yangxiao_jiang 2009-03-02
  • 打赏
  • 举报
回复
为什么不对??
返回的就是4条记录(应该<6)

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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