需求说明:
1、在项目中需要计算某一个环节的持续时间及该环节进行的次数。
2、要求持续时间以分钟进行显示,并统计进行次数。
解决方式:
通过计算某一环节的开始时间与结束时间的秒数差值进行判断。
代码部分:
说明:数据库使用的是Mysql,持久层框架使用的是Mybatis。
代码如下:
FLOOR((SUM(UNIX_TIMESTAMP(开始时间)-UNIX_TIMESTAMP(结束时间))/ COUNT(执行次数))/60) AS averagetime
代码说明:
1、UNIX_TIMESTAMP()
返回值:自'1970-01-01 00:00:00'到当前时间的秒数,如果计算毫秒数需要进行单位换算。
2、(SUM(UNIX_TIMESTAMP(开始时间)-UNIX_TIMESTAMP(结束时间))/ COUNT(执行次数))/60)
返回值:某一环节平均执行时间(分钟)。
3、FLOOR()
返回值:函数只返回整数部分,小数部分舍弃。
总结:上面的代码只计算了两个日期之间的差值,对于数据查询的整体排序和分组没有进行介绍。