2017-10-10 161 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子句應用於該行。