使用where子句对日期列进行SUM并按分组

时间:2014-09-16 02:53:50

标签: sql sql-server date datetime

我有这个SQL脚本试图计算所有时间(格式为:00:00:00)并且如果它满足WHERE的标准则总结它,然后我尝试对它进行分组。

如果我的理解是正确的,如果我从1月1日到5日的01:00:00到05:00:00那么我想要显示1月1日15:00:00和1月15:00:00 2等等。

这里是剧本

SELECT  PLATENO,
    SUM(DOWNTIME) as DOWNTIME
FROM    TBLTIMETURNER
WHERE   MOTOTR= 'ON'
GROUP BY PLATENO

任何人都可以帮我吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

这在某些单位中最容易完成,例如秒:

select plateno, sum(datediff(second, 0, downtime)) as downtime
from TBLTIMETURNER
where MOTOTR= 'ON'
group by plateno;

您可以使用以下命令将其转换为datetime,然后转换为time

select plateno, cast(dateadd(second, 0, sum(datediff(second, 0, downtime))) as time) as downtime
from TBLTIMETURNER
where MOTOTR= 'ON'
group by plateno;