繁体   English   中英

MYSQL查找每天的平均时间

[英]MYSQL find average time per day

我有一个看起来像这样的表,叫做“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

我想找到每天的平均秒数

我正在使用此查询来获取某一天,但它被硬编码为我每天都想要的一天

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'

假设开始时间和结束时间在同一天:

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

您还可以查看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