您的位置:首页 > 其它

orcale中rownum的用法 [ 光影人像 东海陈光剑 的博客 ]

2015-01-28 17:04 295 查看
在sql中我们用top关键字来显示查询结果中的前n条记录,orcale中取消了top,那么怎么实现这个功能呢?oracle 里面在创建表的时候默认会+一个rowid/rownum字段进去,使用rownum可以用来限制返回数据的行数,比如要返回结果集中的前10条数据,那么sql语句可以这样写:select * from 表名 where rownum<11因为rownum是对结果集加的一个伪列,即先查到结果集之后再加上去的一个列 (强调:先要有结果集)。简单的说 rownum 是对符合条件结果的序列号。它总是从1开始排起的。所以你选出的结果不可能没有1,而有其他大于1的值。强调一下,这个结果集是select后加上where条件所得到的结果集,不包括用order by排序,所以如果你想对排序后的结果使用rownum的话,应该使用嵌套查询,先把rownum生成,再对它进行查询:select * "^9d:w G9L%SGU Z.L0from (selet rownum as rn,t1.* from a where ...order by ...desc)W eM0Ak0where rn >5

我们从来只做一件事,分享.
让美在这个世界流转
让倍感无趣的 受伤的 彷徨的 孤独的 或是心情忧郁的 人生黯淡的人们
能有一次机会
去再一次发现这个世界的美
并把美传递给他人
---光影人像(Follow WeChat public number with interest)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: