7个回答
展开全部
1、通过rownum对数据库的记录进行编号
SELECT ROWNUM RN1,A.* FROM A;//从表A中获取记录,并用rownum生成RN1
2、通过RN1的标记进行倒序排序
SELECT B.*,ROWNUM RN2 FROM (SELECT ROWNUM RN1,A.* FROM A) ORDER BY RN1 DESC;
3、通过RN2取小于等于10的数据记录
SELECT * FROM (SELECT B.*,ROWNUM RN2 FROM (SELECT ROWNUM RN1,A.* FROM A) ORDER BY RN1 DESC) WHERE RN2<=10;
展开全部
1.先对其经行排序 ,oracle默认是升序 ,最后取降序的前十条就是最后的十条
2.select * from (select t.*,rownum n from dual t) where n > (select count(1)-10 from dual ) and n <= (select count(1) from dual )
2.select * from (select t.*,rownum n from dual t) where n > (select count(1)-10 from dual ) and n <= (select count(1) from dual )
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假设表名为[TABLE_GA]
SELECT * FROM (SELECT * FROM TABLE_GA ORDER BY CREATEDATE ) Tbl_temp
WHERE ROWNUM<=10
SELECT * FROM (SELECT * FROM TABLE_GA ORDER BY CREATEDATE ) Tbl_temp
WHERE ROWNUM<=10
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from (select * from table_ga order by createDate desc) where rownum<=10;
createDate是创建时间列名;
table_ga是表名;
createDate是创建时间列名;
table_ga是表名;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自己测试了一下,原理就是要通过伪列找出小于11的条数即可
SQL--
select * from (select * from 表名 order by rownum desc) where rownum <11;
SQL--
select * from (select * from 表名 order by rownum desc) where rownum <11;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询