【发布时间】:2022-01-11 06:15:17
【问题描述】:
想要达到的目的是:
在变量中获取输入值,例如@vNoOfRows = 5 并使用变量获取AVG(marks_total) 如下:
select avg(marks_total) over (partition by CourseName order by BatchID rows between @vNoOfRows preceding and current row)
如果我将@vNoOfRows 替换为任何数字,例如5,但在尝试使变量工作时出现以下编译错误:
“@vNoOfRows”附近的语法不正确
问题:我缺少什么 - 以及如何让它与变量一起使用?
谢谢!
【问题讨论】:
-
您可以添加您使用的声明
@vNoOfRows并调用存储过程的语法吗? -
您不能在此处使用变量(不使整个查询动态化)。查看Syntax for OVER。 所有你被允许指定一个数字是一个无符号整数文字。
标签: sql-server tsql variables procedure