mysql选择最新记录仅供记录

时间:2016-01-10 21:42:51

标签: 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 个答案:

答案 0 :(得分:2)

您需要合并LIMITSELECT * FROM yourTableName WHERE custodian = 123 ORDER BY `date` DESC LIMIT 1

begintime + (endtime - begintime)/2

答案 1 :(得分:0)

你可以试试这个

SELECT * FROM tbl ORDER BY date DESC LIMIT 1

最近的日期将是第一个按顺序排序的记录,并且将select限制为1表示您只获得最新记录。