为了得到一个不同的 NumUsers 的运行总数,我尝试编写以下代码,如下所示:
NumUsers = COUNT(DISTINCT [UserAccountKey]) OVER (PARTITION BY [Mth])
管理工作室似乎对此不太高兴。当我删除 DISTINCT
关键字时,这个错误就会消失,但是它不会是一个明显的计数。
DISTINCT
在分区函数中似乎是不可能的。
我怎样才能找到清晰的数字呢?我是否使用更多的 传统方法,比如相关子查询?
进一步来看,这些 OVER
函数的工作方式可能与 Oracle 不同,因为它们不能在 SQL-Server
中用来计算运行总量。
我在 SQLfiddle上添加了一个现场示例,我试图用一个配分函数来计算运行总量。