Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 运行累计和_Sql_Sql Server - Fatal编程技术网

Sql 运行累计和

Sql 运行累计和,sql,sql-server,Sql,Sql Server,我有一个庞大的成员数据库,我试图做一些未来的成员预测。因此,我试图获得每个月输入系统的成员的累计总数 我有以下代码 select YEAR(datejoined) as YDJ, MONTH(datejoined) as MDJ, COUNT(MONTH(datejoined)) as CDJ, SUM(Count(Month(DateJoined))) as SCDJ From Member Group by YEAR(datejoined), MONTH(datej

我有一个庞大的成员数据库,我试图做一些未来的成员预测。因此,我试图获得每个月输入系统的成员的累计总数

我有以下代码

select  YEAR(datejoined) as YDJ,
    MONTH(datejoined) as MDJ,
    COUNT(MONTH(datejoined)) as CDJ,
    SUM(Count(Month(DateJoined))) as SCDJ
From Member
Group by YEAR(datejoined), MONTH(datejoined)
Order by YEAR(DateJoined) asc, MONTH(datejoined) asc;
但是,它抛出一个错误,如下所示:

味精130,15级,状态1,第4行 无法对包含聚合或子查询的表达式执行聚合函数


我希望SUM函数能够计算从开始到该点DB中的总成员数,包括当月的新成员。

根据您的描述,我认为您需要:

select YEAR(datejoined) as YDJ, MONTH(datejoined) as MDJ,
       COUNT(*) as CDJ,
       SUM(COUNT(*)) OVER (ORDER BY YEAR(datejoined), MONTH(datejoined)) as running_CDJ
    SUM(Count(Month(DateJoined))) as SCDJ
From Member
Group by YEAR(datejoined), MONTH(datejoined)
Order by YEAR(DateJoined) asc, MONTH(datejoined) asc;
SQL Server 2012+中提供了累计金额。在早期版本中,可以使用“应用”:


根据您的描述,我认为您需要:

select YEAR(datejoined) as YDJ, MONTH(datejoined) as MDJ,
       COUNT(*) as CDJ,
       SUM(COUNT(*)) OVER (ORDER BY YEAR(datejoined), MONTH(datejoined)) as running_CDJ
    SUM(Count(Month(DateJoined))) as SCDJ
From Member
Group by YEAR(datejoined), MONTH(datejoined)
Order by YEAR(DateJoined) asc, MONTH(datejoined) asc;
SQL Server 2012+中提供了累计金额。在早期版本中,可以使用“应用”:

SumCountMonthDate作为SCDJ加入导致的错误

聚合函数不能在一个select中包含聚合函数

您需要编写一个子查询来解决它

如果您想要累计和,您可以使用带有和的窗口函数

SumCountMonthDate作为SCDJ加入导致的错误

聚合函数不能在一个select中包含聚合函数

您需要编写一个子查询来解决它

如果您想要累计和,您可以使用带有和的窗口函数


示例数据和期望的结果将非常有用。您不能对聚合执行聚合。SUMCOUNT可能是问题所在。样本数据和所需结果的可能重复确实会有帮助。您无法对聚合执行聚合。SUMCOUNT可能是问题所在。感谢您的回复。在ORDER BY函数上获取错误消息,并且t命名为MSG 102-不正确syntax@Clauric选择t1.*,按t1.YDJ订购SUMt1.CDJ,选择YearDate中的t1.MDJ作为SCDJ加入为YDJ,MonthDate加入为MDJ,按YEARdatejoined从成员组中计算*作为CDJ,MonthDate通过t1.YDJ asc、t1.MDJ asc加入了t1订单谢谢您的回复。在ORDER BY函数上获取错误消息,并且t命名为MSG 102-不正确syntax@Clauric选择t1.*,按t1.YDJ订购SUMt1.CDJ,选择YearDate中的t1.MDJ作为SCDJ加入为YDJ,MonthDate加入为MDJ,按YEARdatejoined从成员组中计算*作为CDJ,MonthDate通过t1.YDJ asc、t1.MDJ asc加入t1订单谢谢您的回答。获取错误消息MSG 102-ORDER By上的语法不正确function@Clauric . . . 您使用的是什么版本的SQL Server?谢谢您的回答。获取错误消息MSG 102-ORDER By上的语法不正确function@Clauric . . . 您使用的是什么版本的SQL Server?
SELECT t.*,SUM(CDJ) OVER (ORDER BY YDJ ,MDJ) as SCDJ
FROM (
    select  
        YEAR(datejoined) as YDJ,
        MONTH(datejoined) as MDJ,
        COUNT(datejoined) as CDJ
    From Member
    Group by YEAR(datejoined), MONTH(datejoined)
) t 
Order by YDJ asc, 
         MDJ asc