我有一个具有以下结构的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)
,因为每小时更新一次表,但如果我在一小时内更新两次脚本,我会为每个保管人返回多个结果。
有什么建议吗?
答案 0 :(得分:2)
您需要合并LIMIT
和SELECT *
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表示您只获得最新记录。