rownum使用方法
rownum使用方法: 1.使用rownum子查询: rownum是一个总是从1开始的伪列,当查询条件rownum>n(n>1)时,不能从数据库查到记录,因此要 通过子查询解决:select t.* from (select rownum r,users.* from users ) t where r>2; 结果: SQL> select t.* from (select rownum r,users.* from users ) t where r>2; R ID USERNAME PASSWORD AGE ---------- --------- -------------------- -------------------- ---------- 3 3 sd3 dd3 23 4 4 dsd4 ddd4 23 5 5 adsd5 ddd5 43 先通过子查询(select rownum r,users.* from users)获取全部数据或通过rownum<n(n大于1),获取 前n条记录,然后从中查询满足条件的数据; 2.使用rownum排序: 例如: SQL> select rownum r,users.* from users order by username; R ID USERNAME PASSWORD AGE ---------- --------- -------------------- -------------------- ---------- 5 5 adsd5 ddd5 43 4 4 dsd4 ddd4 23 2 2 qsd2 dd2 23 1 1 sd1 dd1 23 3 3 sd3 dd3 23 从中可以看出rownum并不是按照name列来生成序号的,因为系统是按照记录插入式的顺序给记录排的号, 为了解决这个问题,必须使用子查询: SQL> select rownum r,t.* from (select * from users order by username)t ; R ID USERNAME PASSWORD AGE ---------- --------- -------------------- -------------------- ---------- 1 5 adsd5 ddd5 43 2 4 dsd4 ddd4 23 3 2 qsd2 dd2 23 4 1 sd1 dd1 23 5 3 sd3 dd3 23