mysql - 如何计算时钟重置时的持续时间?
问题描述
我想做的很简单,我有一个充满 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;
所需的输出将正确计算时间之间的持续时间(经过的时间)的最大值、最小值和平均值(以分钟为单位)
解决方案
代替:
TIMEDIFF(Finish_Time, Start_Time)
利用:
SEC_TO_TIME(TIMESTAMPDIFF(SECOND, Start_Time, Finish_Time))
(注意参数的更改顺序。)
推荐阅读
- angular - 仅当 Angular 中的条件为真时启用按钮
- javascript - 如何根据mongodb中的输入数组过滤数据?
- python - 用python画五角星
- c# - 将 SQL 函数添加到 .NET Core SaveChanges 方法
- javascript - 如何通过Lodash通过唯一对象字段合并两个对象数组?
- c# - C# - 没有参数名称的 Uribuilder
- amazon-web-services - 控制 AWS Sagemaker 成本
- python - 如何根据出现在该词之前的条件词替换熊猫字符串中的下一个词
- javascript - 如何使用 textinput 将多个项目添加到平面列表?
- macos - 使用 brew 在 Mac 上安装 rabbitmq 时出错