首页 > 解决方案 > SQL - 从不同的表中按月和年日期运行总计

问题描述

我正在尝试计算如何按 EOMONTH 年份和月份计算运行总计,其中日期来自不同的表并且以天为单位。

到目前为止我的查询:

SELECT
    EOMONTH(EP.ProcessedDate),
    EE.Company ID,
    SUM (CASE WHEN EE.status = 1 THEN 1 ELSE 0 END) OVER (ORDER BY EOMONTH(Ep.processedDate)
FROM
    Employee AS EE
INNER JOIN 
    payments AS EP ON EE.Id = Ep.Id
GROUP BY
    EOMONTH(Ep.processedDate),
    EE.CompanyId

我面临的问题是,它会在显示月末/年末的月份显示运行总计,当实际每个客户应该只有 12 条记录(每月一条记录)时,它会返回 5000 条记录的列表

我需要的是它按完整的月份和年份(yyyy-mm-dd)和 companyid 聚合和显示

在这个阶段,任何建议都会有所帮助。一如既往地对待我,就像我什么都不知道一样

提前致谢

标签: sqlsql-servertsql

解决方案


听起来您不想要公司ID:

select EOMONTH(EP.ProcessedDate),
       Sum(Sum(case when EE.status = 1 then 1 else 0 end)) over (Order by EOMONTH(Ep.processedDate)
From Employee EE Inner Join
     payment EP
     on EE.Id = Ep.Id
Group by EOMONTH(Ep.processedDate)

推荐阅读