I have a table that looks like this called '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
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'
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.