14

我对SUMSQL Server 中的运算符有疑问。当我写这个查询时:

SELECT StudentID, StudentName, SUM(time) as 'TotalTime' 
FROM WorkNote
GROUP BY StudentID, StudentName

我收到此错误:

操作数数据类型 time 对 sum 运算符无效。

是否有其他方法可以SUM从记录中计算总时间?

在我的WorkNote表中,列的类型timeTime(7),我想要SUM每个学生的所有(总)时间。

4

2 回答 2

21

如果当时的时间hh/mm/ss::

SELECT studentid,studentname,
         DATEADD(ms, SUM(DATEDIFF(ms, '00:00:00.000', mytime)), '00:00:00.000') as time
    FROM
         worknote
于 2013-10-23T08:01:32.243 回答
1

您可以以秒为单位转动时间并总结一下。

SELECT   StudentID, 
         StudentName, 
         sum( DATEPART(SECOND, [time]) + 60 * 
              DATEPART(MINUTE, [time]) + 3600 * 
              DATEPART(HOUR, [time] ) 
            ) as 'TotalTime' 
FROM WorkNote
GROUP BY StudentID, StudentName
于 2013-10-23T07:47:06.680 回答