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
SQL查询以添加以前的数据_Sql_Sql Server - Fatal编程技术网

SQL查询以添加以前的数据

SQL查询以添加以前的数据,sql,sql-server,Sql,Sql Server,我必须在SQLServer中编写存储过程(或SQL查询),其中我将有两列,即月份和计数。计数值表示已存在于这两列中的同一表中的文档数。 在月列中,将有12个月,在计数列中,我想,添加当月的文档数和上个月之前的文档数。例如,1月份我有20个文档,2月份有10个文档,则此存储过程将返回2月份的20+10=30个文档,同样。如何实现此目的。基于您提供的部分信息,以下伪代码应该会有所帮助: create table t1 ( month int, [countdocs] int) insert into

我必须在SQLServer中编写存储过程(或SQL查询),其中我将有两列,即月份和计数。计数值表示已存在于这两列中的同一表中的文档数。
在月列中,将有12个月,在计数列中,我想,添加当月的文档数和上个月之前的文档数。例如,1月份我有20个文档,2月份有10个文档,则此存储过程将返回2月份的20+10=30个文档,同样。如何实现此目的。

基于您提供的部分信息,以下伪代码应该会有所帮助:

create table t1 ( month int, [countdocs] int)
insert into t1 values (1,20),(2,10)

SELECT Cur.month, isnull(Cur.countdocs,0) + isnull(Prv.countdocs,0) AS countdocs
FROM t1 AS Cur
LEFT OUTER JOIN t1 AS Prv
ON Cur.month = Prv.month + 1;

在SQL server中查找窗口函数。您似乎想要一个运行总数,并且有一些技术可以从窗口中获取这些数据fn。

从尝试一些东西开始。请提供一个初始脚本和所需的输出。您可以提供带有值的示例数据表吗?我想他只需要返回一行,即使在您的进度之后我还在挠头……)这很容易求和(文档)我想要12行输出(每月1行和相应的计数)。我想使用Lead,SQL查询中的Lag子句,但不确定它是否能够在每个版本的SQL server(如2012200820052000等)上成功运行,因为我想将其用于具有不同SQL版本作为后端的不同应用程序。建议的查询会遇到什么问题?什么东西不管用?