求和sql中的某些行

问题描述 投票:0回答:1

我想将我的表的不同行加到不同的列中。我有一个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号相同的地方。

谢谢,

破旧

ssms
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.