特定日期之前的值之和

时间:2018-06-23 22:38:16

标签: sql date ms-access sum iif

我正在为以下问题使用正确的语法: 我想知道一个月的每个月的多年期中,公司拥有多少个子公司。到目前为止,我对所有已成立的子公司进行了相同的练习在特定年份结束之前(比如说2008、2009、2010 ...)。

这是我在年底使用的语法: 选择YEAR([Sub]。[year])AS [Year],Sub。[ID],Sub。[NAME],SUM(IIf(YEAR(Sub.year)> = YEAR(Sub。[成立日期])) ,1,0))AS [订阅数] 从子 按年份分组(Sub。[year]),Sub。[ID],Sub。[NAME];

Current Syntax output

但是,我只是无法弄清楚月底如何做同样的练习。使用“日期”,“ dateserial”,“ datediff”,“月” ...而不是“ YEAR”进行了试用。

仅供参考:对于该月的每个月底,我都在基础“ Sub”表中有确切的日期。

非常感谢您的支持。 非常感谢!

1 个答案:

答案 0 :(得分:0)

这可能会做到:

SELECT 
    Format([Sub].[year], "yyyymm") AS [YearMonth], 
    Sub.[ID], 
    Sub.[NAME], 
    SUM(IIf(Format([Sub].[year], "yyyymm") >= Format(Sub.[Date of incorporation], "yyyymm"), 1, 0)) AS [No of Subs]
FROM 
    Sub
GROUP BY 
    Format([Sub].[year], "yyyymm") AS [YearMonth], 
    Sub.[ID]