SUM日期时间值(按月)

时间:2019-04-18 08:18:09

标签: sql-server

我正在为一个组织处理票务的项目。我正在使用SQL Management Studio执行此操作。他们想知道每个客户每月花费多少时间。我目前所拥有的是每位客户的单独门票。不知何故,我需要按月在单独的列中添加这些值。

EndTime列具有每张票证花费的总时间,现在我想为每个月添加这些值。

SELECT
    [dbo].[Company].Name as CompanyName
    , convert(time(0), CAST(EndTime AS TIME)) AS 'Worked hours'
    ,EndTime
    ,Category.Name as CategoryName

FROM [plugin.tickets].[Ticket]
    LEFT JOIN [dbo].Category ON Category.Id = [plugin.tickets].Ticket.CategoryId
    LEFT JOIN [plugin.tickets].TicketActivity  ON TicketActivity.TicketId = [plugin.tickets].Ticket.Id
    LEFT JOIN [dbo].Activity ON Activity.Id = [TicketActivity].ActivityId
    LEFT JOIN [dbo].Company ON Company.Id = [plugin.tickets].Ticket.CompanyId
where
           [plugin.tickets].[Ticket].status <= 2
       AND [plugin.tickets].[Ticket].TypeId = 6 or [plugin.tickets].[Ticket].TypeId = 11
       AND [dbo].Category.Name != 'VoIP Telefoni' AND [dbo].Category.Name != 'Beheer'
--      AND [dbo].Activity.EndTime is not null
--      AND DATEDIFF(MINUTE, CAST('00:00:00' AS TIME), CAST(EndTime AS TIME)) > 0
GROUP BY 
    [dbo].[Company].Name
    ,EndTime
    ,EndTime
    ,Category.Name

ORDER BY
     'Worked hours' desc

enter image description here

0 个答案:

没有答案
相关问题