Mysql中使用SQL计算两个日期时间差值

时间:2022-06-09 06:44:35

需求说明:

  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()

    返回值:函数只返回整数部分,小数部分舍弃。

 总结:上面的代码只计算了两个日期之间的差值,对于数据查询的整体排序和分组没有进行介绍。