试着用SQL在一系列开始时间内找到平均开始时间?

时间:2015-11-15 03:08:16

标签: mysql sql

我有员工打卡和打卡的数据。我正在尝试编写一个返回平均开始时间和停止时间的SQL查询。

例如,如果员工A记录以下插入数据:

enter image description here

有哪些方法可以找到平均开始和停止时间?

到目前为止,我已经尝试过:

"SELECT SEC_TO_TIME(AVG(TIME_TO_SEC(`start_time`))) FROM `table` WHERE `date` BETWEEN 'dateRange1' AND 'dateRange2';"

解决方案(感谢@Subin C Poonamgode的帮助!):

SELECT SEC_TO_TIME(AVG(TIME_TO_SEC(`start_time`))) 
    FROM `table` WHERE `date` BETWEEN 'dateRange1' AND 'dateRange2' AND `start_time` <> '00:00:00';

1 个答案:

答案 0 :(得分:1)

此查询打印平均值。检查员工A的时间(employee_id = 1)。

SELECT SEC_TO_TIME(AVG(TIME_TO_SEC(`start_time`))) 
    FROM `table` WHERE `date` BETWEEN 'dateRange1' AND 'dateRange2' AND
    `table`.employee_id =1  AND `start_time` <> '00:00:00'

希望这有帮助。