如何在sql表中汇总不同的时间类型值

时间:2012-06-20 13:41:08

标签: mysql

我的疑问:

 SELECT (
 `total_hours`
)
FROM work_details
WHERE  `employee_id` =  '28'
AND DATE
BETWEEN  '2012-02-01'
AND  '2012-02-01'

LIMIT 0 , 30

//从数据库表work_details

获取给定日期的给定员工的总工作小时数

结果:

total_hours
            02:27:29
            00:13:56
            03:03:49
            00:00:03
            00:30:20
            01:04:13

//结果显示员工在给定日期工作的时间,我需要获取这些值的总和以查找给定日期的总工作时间。

如何在字段中获取这些值的总和???

如果我使用sum(total_hours)结果将是

sum( total_hours ) 
67870 

这是不正确的。我需要时间类型本身。

我还需要一个帮助,这个查询有效,因为我为BETWEEN子句指定了相同的日期。

DATE
    BETWEEN  '2012-02-01'
    AND  '2012-02-01'

但我需要计算给定范围内的总工作时数,比如说

DATE
    BETWEEN  '2012-02-01'
    AND  '2012-02-29'

由于给定日期有多个小时入场,我需要获得每个不同日期的总小时数。帮助??

1 个答案:

答案 0 :(得分:4)

试试这个(取自here):

SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(`total_hours`))) ... -- rest of your query