2013-02-26 158 views
0

好的,所以我有一個表在一個名爲'時間'的列中記錄了更新的時間。此列以標準MySQL日期時間格式記錄。獲取最新的時間戳mysql

我有以下查詢其挑選出的最新日期:

SELECT * FROM table1 WHERE DATE(time) = (SELECT MAX(DATE(time))FROM table1) 

和我有另一個查詢其挑選出的最新時間:

SELECT * FROM table1 WHERE TIME(time) = (SELECT MAX(TIME(time))FROM table1) 

我需要的是一個沒有兩個日期和時間給我最近更新的記錄。

任何幫助表示讚賞,謝謝!

+0

這裏你不需要'MAX()',但值得注意的是你可以直接執行'MAX(time)'。無需分割日期和時間。 – 2013-02-26 13:28:52

回答

2
SELECT * FROM table1 order by time desc limit 1 

建議不要使用時間作爲列名,因爲它是MySQL中的保留字,會導致問題和/或混淆。

此外,MySQL可以自動維護上次更新記錄的日期時間。聲明一個列作爲時間戳而不是日期時間來查看它是如何工作的。

+1

只是'極限1'就足夠了 – Bohemian 2013-02-26 13:21:38

+0

時間不是MySQL中的保留字,但我同意它會引起混淆。 – Strawberry 2013-02-26 13:21:40

+0

@Strawberry Time是一個保留的關鍵字,但它可以像日期一樣無反撥地使用。 ':)' – 2013-02-26 13:22:27