select * from ( select * from tb1 order by id desc ) where rownum<=5
select t.* from (select * from tb order by 编码 desc) t where rownum <= 5
我现在用这个方法应该能选出最后5行数据了select * from (select rownum m,gbkid from gst_guestbook) where ( m>(select max(rownum) from gst_guestbook)-5) 但是现在有个问题,我用plsql在数据库里新加的2条数据,plsql最前面有个灰色的行号显示时第1和第2条数据,这样我就得不到最后5条了 就是下面第一列这一行,是灰色的也不能改,和后面的id都对不上 employeeid name 1 10 Jone 2 9 Dean 3 1 Jack 4 2 Tom 5 3 Mary 6 4........
干嘛要第二个select 直接这样不行么: select * from table where rownum<=5 order by 编号 desc
这种写法不行 rownum是在和查询的时候一起生成的 这个效果相当于查询了数据库前5行数据
楼主,按照你原来排序相反的方向排序,取前5条不行吗? select * from tab order by 编码 desc where rownum <6 如果非要你这个样子排序的话,那就多嵌套一层 select * from (select *,rownum rn from tab order by 编码) where rn <= max(rn) and rn > max(rn)-6
(
select * from tb1 order by id desc
)
where rownum<=5
select t.* from
(select * from tb order by 编码 desc) t
where rownum <= 5
但是现在有个问题,我用plsql在数据库里新加的2条数据,plsql最前面有个灰色的行号显示时第1和第2条数据,这样我就得不到最后5条了
就是下面第一列这一行,是灰色的也不能改,和后面的id都对不上
employeeid name
1 10 Jone
2 9 Dean
3 1 Jack
4 2 Tom
5 3 Mary
6 4........
select * from table
where rownum<=5
order by 编号 desc
这种写法不行 rownum是在和查询的时候一起生成的 这个效果相当于查询了数据库前5行数据
select * from tab order by 编码 desc where rownum <6
如果非要你这个样子排序的话,那就多嵌套一层
select * from (select *,rownum rn from tab order by 编码)
where rn <= max(rn) and rn > max(rn)-6