如何获取Oracle表的最后一行?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (62)

我想获取最后一行,我将它插入到Oracle 11g Express数据库的表中。我怎样才能做到这一点?

提问于
用户回答回答于

不存在表格中的“最后一行”,因为Oracle表格没有订单概念。

但是,假设你想查找最后插入的主键并且这个主键是一个递增的数字,你可以这样做:

select *
  from ( select a.*, max(pk) over () as max_pk
           from my_table a
                )
 where pk = max_pk

如果你有每行创建的日期,如果该列被命名,这将成为created

select *
  from ( select a.*, max(created) over () as max_created
           from my_table a
                )
 where created = max_created

或者,你可以使用聚合查询,例如:

select *
  from my_table
 where pk = ( select max(pk) from my_table )

用户回答回答于
SELECT * FROM (
    SELECT * FROM table_name ORDER BY sortable_column DESC
) WHERE ROWNUM = 1;

扫码关注云+社区