我想做的很简单,我有一个满是start_times和finish_times的df。除2行外,所有开始和完成时间均为24小时格式。
我要计算计算时间持续时间的最小值、最大值和平均值。问题出在230行之外,2行经过时间重置。例如,一次开始时间是2020-10-14 23:37:26,相应的结束时间是2020-10-15 00:19:47,我还有一排,考试开始1天,下一次考试结束。
我将值存储为DATETIME,如何将其转换为所需的输出?
SELECT AVG(SEC_TO_TIME(TIMESTAMPDIFF(MINUTE, Start_Time, Finish_Time))) AS
Avg_Exam_Duration,
MIN(SEC_TO_TIME(TIMESTAMPDIFF(MINUTE, Start_Time, Finish_Time))) AS
Min_Exam_Duration,
MAX(SEC_TO_TIME(TIMESTAMPDIFF(MINUTE, Start_Time, Finish_Time))) AS
Max_Exam_Duration,
Room_ID FROM exam
GROUP BY Room_ID;
所需输出将正确计算时间间隔时间(以分钟为单位)的最大值、最小值& Avg值
发布于 2020-10-14 21:39:54
而不是:
TIMEDIFF(Finish_Time, Start_Time)
用途:
SEC_TO_TIME(TIMESTAMPDIFF(SECOND, Start_Time, Finish_Time))
(请注意参数的更改顺序。)
https://stackoverflow.com/questions/64361776
复制相似问题