在PLSQL中怎么能取到表中按ID降序排列的前十条记录?
1个回答
展开全部
1. 这两条语句是否适用于PL/SQL?
这两条语句不是适合不适合plsql,而是不适合oracle
2.如果不适用那么还有其它更好的语句么?
oracle中用来限制行数,一般都用rownum这个伪列的。
如 select * from (select * from test order by id desc ) where rownum <=10;
order by 与 rownum 会按照语句中的层级关系的顺序来执行的。也就是如果select * from (select * from test order by id desc ) where rownum <=10 取出排序后的前10个,而select * from test where rownum < 10 order by metid desc,取出按照rowid顺序的前10名后再排序。
这两条语句不是适合不适合plsql,而是不适合oracle
2.如果不适用那么还有其它更好的语句么?
oracle中用来限制行数,一般都用rownum这个伪列的。
如 select * from (select * from test order by id desc ) where rownum <=10;
order by 与 rownum 会按照语句中的层级关系的顺序来执行的。也就是如果select * from (select * from test order by id desc ) where rownum <=10 取出排序后的前10个,而select * from test where rownum < 10 order by metid desc,取出按照rowid顺序的前10名后再排序。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询