2013-02-10 138 views
0

我在一個MySQL數據庫表中的以下數據稱爲MyTable獲取最後一批更新:如何從MySQL數據庫

+----------+------------+---------------------+ 
| my_id | country_gb | date_updated  | 
+----------+------------+---------------------+ 
|  10 |  224 | 2013-02-07 00:00:00 | 
|  30 |  224 | 2013-02-07 00:00:00 | 
|  40 |  299 | 2013-02-07 00:00:00 | 
|  60 |  277 | 2013-02-09 00:00:00 | 
|  70 |  222 | 2013-02-09 00:00:00 | 
|  100 |  349 | 2013-02-09 00:00:00 | 

如何查詢數據庫,這樣,只有擁有最新日期的行返回?

我知道我可以做SELECT * from 'MyTable' WHERE 'date_updated'="2013-02-09 00:00:00",但如果我現在不具體date_updated(我不這樣做)?我想我可以通過一個命令(類似於SELECT date_updated FROM 'MyTable' ORDER BY date_updated DESC LIMIT 1)按date_updated DESC對錶進行排序,然後使用date_updated值進行另一次搜索,但我不知道如何在一個命令中完成這些操作,或者即使有方法。

回答

2

使用子查詢

SELECT * from 'MyTable' WHERE 'date_updated'=(
    SELECT date_updated FROM 'MyTable' ORDER BY date_updated DESC LIMIT 1) 
2
SELECT * FROM MyTable WHERE date_updated = (SELECT MAX(date_updated) FROM MyTable)