oracle 怎么查询 一个表中的 最后 10条数据

oracle 怎么查询 一个表中的 最后 10条数据,第1张

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、有时间字段, 根据时间条件排序,取前十条和后十条

(1)前十条:

select * from (select * from tab_name a order by date_col )

where rownum<11

(2)后十条:

select * from (select * from tab_name a order by date_col  desc)

where rownum<11

2、没有时间字段, 直接根据物理存储顺序,取前十条和后十条

(1)前十条:

select * from (select * from tab_name a order by rownum)

where rownum<11

(2)后十条:

select * from (select * from tab_name a order by rownuml  desc)

where rownum<11


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6682757.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存