需求說明:
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()
返回值:函數只返回整數部分,小數部分舍棄。
總結:上面的代碼只計算了兩個日期之間的差值,對於數據查詢的整體排序和分組沒有進行介紹。