我正在查询以监控正在进行的和预期的文件上传。 这是我正在做的:
select time_to_sec(min(timediff(now(), f.SubmittedDate)))/60 FROM dbtable f WHERE f.Status = 'SUBMITTED';
现在,在 12 小时后,它的返回次数比应有的次数多 10 倍。它返回 6200 分钟,而不是 620 分钟。如果我这样做,它会起作用:
select time_to_sec(timediff(now(), max(f.SubmittedDate)))/60 FROM dbtable f WHERE f.Status = 'SUBMITTED'
我不明白其中的区别,为什么会这样?显然,最低时间差应该等于现在和最高日期之间的时间差。我是否遗漏了什么或者这是一个错误?
我的问题是我以这种方式设置了大量支票,编辑所有支票可能需要相当多的工作量。
感谢您的帮助!
最佳答案
我对此和您的代码进行了一些测试:
select time_to_sec(min(timediff(now(), f.SubmittedDate)))/60 FROM dbtable f WHERE f.Status = 'SUBMITTED';
需要:
select min(time_to_sec(timediff(now(), f.SubmittedDate)))/60 FROM dbtable f WHERE f.Status = 'SUBMITTED';
由于您没有像在第二个查询中那样使用“MAX”函数,因此您需要在“TIME_TO_SEC”之前调用“MIN”函数。
希望对你有帮助
关于Mysql timediff 与 min,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11335348/