SQL查询最新记录

时间:2017-10-10 15:59:52

标签: oracle oracle10g oracle-sqldeveloper

我想根据日期字段(crtn_dt)从表中选择最新记录。以下查询无效。有没有人知道应该如何修复它?

 select * from parcels
 order by crtn_dt desc
 where rownum = 1

1 个答案:

答案 0 :(得分:1)

您需要在子查询中对数据进行排序,并在外部查询中对其进行过滤。

select *
  from (
        select * 
          from parcels
         order by crtn_dt desc
       )
 where rownum = 1

order by子句是最后执行的操作之一。 你的查询做了什么,除了在语义上不正确之外,它返回一个(感谢rownum = 1谓词)任意行,然后将order by子句应用于那一行。