【问题标题】:oracle find last row in table [duplicate]oracle在表中找到最后一行[重复]
【发布时间】:2021-04-28 15:14:54
【问题描述】:

嘿,我有一个数据库项目,我想从我的表格小工具中获取最后一行,对于第一行,我写了这个并且它有效

SELECT *
  from Gadgets
where ROWNUM =1

但对于最后一个索引,例如 100,它不起作用

SELECT *
  from Gadgets
where ROWNUM =100

我必须如何编写我将工作的命令,我在 oracle 上工作

【问题讨论】:

  • rownum = 1 没有给出“表中的第一行”,无论这意味着什么。它给出了查询返回的第一行,这将取决于数据的物理存储方式以及优化器如何决定执行查询。

标签: sql oracle sql-limit


【解决方案1】:

表格中没有“第一”或“最后”行。 SQL 表表示 无序 集(技术上是多集,因为允许重复)。你需要一个order by

如果您有一个增量 ID 或创建日期,那么您可以使用它来定义“第一个”或“最后一个”。对于“第一”行:

select t.*
from t
order by <ordering column>
fetch first 1 row only;

对于“最后”行:

select t.*
from t
order by <ordering column> desc
fetch first 1 row only;

【讨论】:

  • 正在输入我想要的号码?
  • &lt;ordering column&gt; 是您定义的“第一个”和“最后一个”。
猜你喜欢
  • 2015-11-28
  • 2021-09-02
  • 1970-01-01
  • 2019-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-26
  • 1970-01-01
相关资源
最近更新 更多