每月合同总数

时间:2020-10-18 02:12:26

标签: sql sql-server

我正在尝试按月查找总合同。数据存储在每个月的多行数据的“开始日期”和“结束日期”列中。

SELECT e.CustomerID, e.AgentID,
COUNT(*) engagementnumber
FROM Engagements e
GROUP BY EndDate

我第一次使用

SELECT COUNT(*) engagementnumber,
FROM Engagements,
GROUP BY EndDate

我有一个计数,但是没有按月分组。

2 个答案:

答案 0 :(得分:0)

您可以取消透视日期并使用汇总:

select year(dte), month(dte),
       sum(inc) as change_in_month,
       sum(sum(inc)) over (order by min(dte) as active_in_month
from ((select startdate as dte, 1 as inc from Engagements) union all
      (select enddate, -1 as int from Engagements)
     ) t
group by year(dte), month(dte)
order by year(dte), month(dte);

答案 1 :(得分:0)

您可以尝试类似的

SELECT MONTH(enddate), COUNT(*) OVER (PARTITION BY MONTH(enddate)) engagementnumber FROM engagements
相关问题