[b]oracle ROWNUM 用法[/b]
ROWNUM 是一种伪列,它会根据返回记录生成一个序列化的数字。
oracle中ROWNUM 是从1开始。
查询前2条记录
[quote]select t.* from test_table t where rownum <= 2[/quote]
查询第2到5条记录
[quote]select * from (select rownum rn,t.* from test_table t) where rn between 2 and 5[/quote]
不能对ROWNUM 使用>(大于1 的数值)、>=(大于或等于1 的数值)、=(大于或等于
1 的数值),否则无结果。
这是因为:
1、ROWNUM 是伪列,必须要要有返回结果后,每条返回记录就会对应产生一个ROWNUM
数值;
2、返回结果记录的ROWNUM 是从1 开始排序的,因此第一条始终是1;
ROWNUM 是一种伪列,它会根据返回记录生成一个序列化的数字。
oracle中ROWNUM 是从1开始。
查询前2条记录
[quote]select t.* from test_table t where rownum <= 2[/quote]
查询第2到5条记录
[quote]select * from (select rownum rn,t.* from test_table t) where rn between 2 and 5[/quote]
不能对ROWNUM 使用>(大于1 的数值)、>=(大于或等于1 的数值)、=(大于或等于
1 的数值),否则无结果。
这是因为:
1、ROWNUM 是伪列,必须要要有返回结果后,每条返回记录就会对应产生一个ROWNUM
数值;
2、返回结果记录的ROWNUM 是从1 开始排序的,因此第一条始终是1;