简体   繁体   English

MYSQL查找每天的平均时间

[英]MYSQL find average time per day

I have a table that looks like this called 'victory_picker_picktask_scanactivity'我有一个看起来像这样的表,叫做“victory_picker_picktask_scanactivity”

PickerID|ObjectScanned|      StartTime     |        EndTime     |
------------------------------------------------------------------
   2    |     Bin     |2020-02-17 03:46:58 | 2020-02-17 03:47:13  
   2    |     Bin     |2020-02-17 13:34:02 | 2020-02-17 13:34:27

I want to find the average amount of seconds for each day我想找到每天的平均秒数

I'm using this query to fetch one day but it is hard coded for one day I want every day我正在使用此查询来获取某一天,但它被硬编码为我每天都想要的一天

SELECT AVG(TIMESTAMPDIFF(SECOND, `StartTime`, `EndTime`)) 
as time_in_seconds 
FROM `victory_picker_picktask_scanactivity` 

WHERE `victory_picker_picktask_scanactivity`.`EndTime` IS NOT NULL
AND `PickerID` = 2
AND  `EndTime` < '2020-02-18 00:00:01' 
AND `ObjectScanned` = 'Bin'

Assuming start time and end time are on the same day:假设开始时间和结束时间在同一天:

SELECT DATE(StartTime), AVG(TIMESTAMPDIFF(SECOND, `StartTime`, `EndTime`)) 
as time_in_seconds 
FROM `victory_picker_picktask_scanactivity` 
WHERE `victory_picker_picktask_scanactivity`.`EndTime` IS NOT NULL
      `PickerID` = 2 AND
      `ObjectScanned` = 'Bin'
GROUP BY DATE(StartTime);

You can also check on comparison of START_DATE and END_DATE您还可以查看START_DATEEND_DATE比较

       SELECT AVG(TIMESTAMPDIFF(SECOND, `StartTime`, `EndTime`)) 
        as time_in_seconds 
       FROM `victory_picker_picktask_scanactivity` 

       WHERE `victory_picker_picktask_scanactivity`.`EndTime` IS NOT NULL
              AND `PickerID` = 2
              AND  date(`EndTime`) =date(`StartTime`) 
              AND `ObjectScanned` = 'Bin'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM