2016-01-10 161 views
2

最新记录我有一个MySQL数据库结构如下:的MySQL只选择记录

custodian | counta | countc | countc | total | date 
------------------------------------------------------- 
ed  | 1  | 2  | 3  | 6  | 1/1/2016 
ed  | 2  | 3  | 5  | 10 | 1/2/2016 
ed  | 2  | 3  | 6  | 11 | 1/3/2016 
ed  | 1  | 3  | 5  | 9  | 1/4/2016 
fred  | 1  | 2  | 3  | 6  | 1/1/2016 
fred  | 2  | 3  | 5  | 10 | 1/2/2016 
fred  | 2  | 3  | 6  | 11 | 1/3/2016 
fred  | 1  | 3  | 5  | 9  | 1/4/2016 

如何返回最新的记录保管人?由于表格每小时更新一次,因此我一直在玩这个条件where date >= DATE_SUB(NOW(),INTERVAL 59 MINUTE),但是如果我在一个小时内更新脚本两次,我会为每个保管人返回多个结果。

有什么建议吗?

回答

2

您需要结合ORDER BYLIMIT

SELECT * 
FROM yourTableName 
WHERE custodian = 123 
ORDER BY `date` DESC 
LIMIT 1 
+0

刚刚在我之前!在相关说明中,我很惊讶“LIMIT”不是语法高亮的。 – worldofjr

0

你可以试试这个

SELECT * FROM tbl ORDER BY date DESC LIMIT 1 

最近的日子会是当decendingly订购的第一条记录,并限制选择1种手段你只能得到最新的纪录。