2016-09-30 39 views
0

我想簡單只讀取最新的排在Oracle SQL

select date_created from smc_log_messages where rownum =1 
order by date_created desc 

,並返回像

15-SEP-16 10.15.49.099000000 PM 

日期然而,當我運行

select date_created from smc_log_messages 
    order by date_created desc 

我看數據像

30-SEP-16 12.39.00.006000000 AM 
30-SEP-16 12.38.59.997000000 AM 

因此,基本上添加rownum會影響結果。難道我做錯了什麼?

+0

你可以通過desc – Beginner

回答

8

如果你想在最近的日期,然後使用:

select max(date_created) 
from smc_log_messages ; 

如果你想在最近的排在甲骨文12C +:

select lm.* 
from smc_log_messages lm 
order by lm.date_created desc 
fetch first 1 row only; 

在早期版本:

select lm.* 
from (select lm.* 
     from smc_log_messages lm 
     order by lm.date_created desc 
    ) lm 
where rownum = 1; 
+0

@vkp來訂購。 。 。謝謝。 –

0

僅使用MAX功能獲得最新記錄和最高記錄: SELECT MAX() 從

這將工作。