2016-08-02 50 views
0

本來我有如下的MySQL查詢:Mysql:如何檢索從現在起9小時59分30秒內創建的日期時間?

SELECT sub.id, sub.content, sub.time, date_format(sub.time, '%d %b %Y') 
FROM (SELECT * from accounts) AS sub 
ORDER BY time ASC LIMIT 3 

現在我必須添加另一個條件,即,retrived帳戶必須9hour59mins30s從現在起創建的。

所以我調整了許多嘗試,但失敗了,如:

SELECT sub.id, sub.content, sub.time(curdate(), interval 9 hour 59 min 30 sec), 
    date_format(sub.time, '%d %b %Y') 
FROM (SELECT * from accounts) AS sub 
ORDER BY time ASC LIMIT 3 

我怎麼能添加新條件到我原來的SQL?

回答

1

我不確定我是否完全理解邏輯。下面得到在過去的9小時30分30秒創建的所有帳戶:

select sub.id, sub.content, sub.time, date_format(sub.time, '%d %b %Y') 
from accounts sub 
where sub.time >= date_sub(now(), interval 30 + 59*60 + 9*60*60 second) 
order by time ASC 
limit 3; 

在世界上大多數國家,10 hour將罰款近似。

+1

好的工作,戈登。你應該向紳士解釋你是如何達到魔法數字30 + 59 * 60 + 30 * 60 * 60的,所以他完全理解你的解決方案。有趣的是,我的解決方案包含了一個相當不同的幻數。 –

+1

@BruceDavidWilner。 。 。大聲笑。該公式中有一個錯字。 –

+0

謝謝你們,在試圖弄清楚幻數時看到了你的評論。問題解決了,這是我三個月承諾的最後一次痛苦。乾杯。 – badbye

相關問題