tablename=运行详细信息
我必须计算过去7天的平均作业时间,但在某些情况下,运行次数可能少于7天。只有两个运行日期(4.5+6+…+7)/7=5.83和(23.9+45.7)/2=34.8,还需要根据最近7次运行进行计算。例如2020-07-04至2020-07-10,而不是2020-07-01
Job_name run_date rownum count elapsed_time(sec) avg_time
xyz 2020-07-01 1 10 4.5 ?
xyz 2020-07-02 2 10 6 ?
.......
xyz 2020-07-10 10 10 7.0 ?
abc 2020-07-01 1 2 23.9 ?
abc 2020-07-02 2 2 45.7 ?
期望输出
Job_name run_date rownum count elapsed_time(sec) avg_time
xyz 2020-07-01 1 10 4.5 5.83
xyz 2020-07-02 2 10 6 5.83
.......
xyz 2020-07-10 10 10 7.0 5.83
abc 2020-07-01 1 2 23.9 34.8
abc 2020-07-02 2 2 45.7 34.8
你能帮我实现mysql中的平均时间吗
1条答案
按热度按时间osh3o9ms1#
如果您希望在前7天内获得超额,可以使用窗口函数:
注意:这假设您真的想要前六天加上当前日期。如果您真的希望在前7天到前1天(前一周),请使用:
编辑:
在mysql的旧版本中,可以使用相关子查询:
调整日期比较以获得所需的确切时间段。