2013年4月19日

Rownum与Order by

摘要: rownum是数据表的一个虚列,是随着select获取到的数据集合而依次生成的数据项目。借助rownum,很多复杂的SQL需求都得以解决。但是,rownum绝不是一个数据列,使用它的时候一定要注意rownum的生成原理和特性。本篇就从rownum与orderby结合,谈使用rownum的一个注意点。简单的说,rownum是在使用select查询的时候,自动生成的一串顺序号。在每返回一条数据结果的时候,rownum就自动加一。rownum可以使用在select后的列表中,也可以使用在where条件后。Oracle中没有top n命令,通常都是使用rownum来控制返回数据的条数。SQL> 阅读全文

posted @ 2013-04-19 21:20 善敗將軍 阅读(952) 评论(0) 推荐(0) 编辑

oralce中rownum理解

摘要: 实际工作中被rownum困扰了很多次,一直不明白rownum为什么只能用‘<n’ 活‘<=n’做过滤条件,今天翻书时恍然大悟,记下分享\(^o^)/ rownum的存在形式很诡异,被称作‘伪列’,它不是实际存在的列,要区别于rowid他虽然也叫伪列,但是rowid在物理地址中是实际存储并且是用来唯一标识一行记录的列,而rownum则是在内存中当你查询结果集生成后追加到结果集上的一个列,这个列从1开始递增,当你过滤掉第一条数据时rownum的编号会继续从1开始排序,强调的是在你查询结果集经过过滤读入内存后追加在结果集上的列,只要有rownum就必须有rownum=1这个值。我们结合是 阅读全文

posted @ 2013-04-19 21:11 善敗將軍 阅读(289) 评论(0) 推荐(0) 编辑

导航