2017-10-10 160 views
1

我想根据日期字段(crtn_dt)从表中选择最新记录。下面的查询不起作用。有没有人有一个想法应该如何解决?SQL查询最新记录

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

这里的答案可能有所帮助:https://stackoverflow.com/questions/11128194/oracle-select-most-recent-date-record –

+0

好的语法在你的查询中是错误的。从那里订购之前来的地方。但是它仍然不会产生预期的结果。 – xQbert

回答

1

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

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

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