使用t-sql求和和和转换时间

使用t-sql求和和和转换时间,sql,sql-server,tsql,sum,Sql,Sql Server,Tsql,Sum,我试图计算在一次会议期间完成所有案例所需的总时间。每个案例的时间以秒为单位存储在[时间]列中。如何求和并转换为hh:mm:ss格式 我的代码如下所示: [sessionno] as session_no ,count ([id]) as No_Items ,(convert (varchar, dateadd (ms, (sum([time])) * 1000, 0), 108)) as total_work_time 结果应该如下所示: session_no | No_items | tot

我试图计算在一次会议期间完成所有案例所需的总时间。每个案例的时间以秒为单位存储在[时间]列中。如何求和并转换为hh:mm:ss格式

我的代码如下所示:

[sessionno] as session_no
,count ([id]) as No_Items
,(convert (varchar, dateadd (ms, (sum([time])) * 1000, 0), 108)) as total_work_time
结果应该如下所示:

session_no | No_items | total_work_time
112138          8         00:35:12
112583          0         00:00:00
212558          1         00:00:17
相反,我收到的是:

session_no | No_items | total_work_time
112138          8         1622
112583          0         null
212558          1         324

对SQL进行了一些更正

 SELECT [sessionno] as session_no,
        count ([id]) as No_Items,
        dateadd (ss, sum([time]), cast('00:00:00' as time)) as total_work_time
 FROM your_table
 GROUP BY [sessionno]

但是,请注意时间数据类型可能是。

您的
[time]
列的数据类型是什么?
dateadd(ss,sum(time),cast('00:00'as time))
您好,欢迎使用SO。您能否将表的ddl和一些示例数据作为insert语句发布?但我对求和时间有疑问。上午9点13分加上下午3点42分应该是多少?增加一天的时间没有逻辑意义。我认为你把一天中的时间和一项任务的持续时间混淆了。无法重现<代码>选择(转换(varchar,dateadd(ms,(1234)*1000,0),108))生成
00:20:34
。检查你的假设。@TabAlleman它是int