【发布时间】:2015-06-24 02:25:12
【问题描述】:
我目前正在编写一个示例脚本,它允许我计算前两行和当前行的总和。但是,我想将数字“2”作为变量。我尝试过声明一个变量,或者直接在查询中进行强制转换,但总是会弹出语法错误。有没有可能的解决方案?
DECLARE @myTable TABLE (myValue INT)
INSERT INTO @myTable ( myValue ) VALUES ( 5)
INSERT INTO @myTable ( myValue ) VALUES ( 6)
INSERT INTO @myTable ( myValue ) VALUES ( 7)
INSERT INTO @myTable ( myValue ) VALUES ( 8)
INSERT INTO @myTable ( myValue ) VALUES ( 9)
INSERT INTO @myTable ( myValue ) VALUES ( 10)
SELECT
SUM(myValue) OVER (ORDER BY myValue
ROWS BETWEEN 2 PRECEDING AND CURRENT ROW)
FROM @myTable
【问题讨论】:
-
你能不能建立一个动态的
T-SQL语句然后执行它? -
是的,我可以尝试 - 目前这似乎是唯一的出路。但是想检查是否有任何其他“更清洁”的解决方案!非常感谢!
标签: sql sql-server tsql window-functions