对SQL中的某些行求和

时间:2019-03-14 09:58:17

标签: ssms

我想将表的不同行汇总到不同的列中。我有一个ID列,其中包含多次。当我尝试汇总时间表时,提示无法汇总时间数据类型。

这是我的查询像atm的内容:

 select t.Id,
        a.EndTime,
        cast(A.Endtime as time)[time]
    from [plugin.tickets].Ticket as T
    join
        [plugin.tickets].TicketActivity as TA ON TA.TicketId = T.Id
    join
    dbo.Activity as A on A.Id = TA.ActivityId

以下是此查询的输出:

enter image description here

您会看到ID号有多次。如何求和这些值?

编辑: 我将查询更改如下:

select  t.Id
        ,a.EndTime
        ,convert (varchar(5), EndTime,108) as Tijd
from [plugin.tickets].Ticket as T
join
    [plugin.tickets].TicketActivity as TA ON TA.TicketId = T.Id
join
dbo.Activity as A on A.Id = TA.ActivityId

我只想在ID编号相同的地方加总。

谢谢

破旧

1 个答案:

答案 0 :(得分:0)

您应该查看两个函数DATEPART和DATEADD。我假设您在这里使用T-SQL。因此,您可以将时间字段转换为小时,例如,您将得到17,然后在“结束时间”字段上使用日期添加。

https://docs.microsoft.com/en-us/sql/t-sql/functions/datepart-transact-sql?view=sql-server-2017