可能使用DISTINCT的分区函数COUNT()

我试着写下以下内容,以获得不同的灵感,如下所示:

numuers=COUNT(不同的[UserAccountKey])超过(按[Mth]分区)

管理工作室似乎对此不太满意。当我删除DISTINCT关键字时,该错误消失,但随后它将不是一个DISTINCT计数

DISTINCT在分区函数中似乎不可能。
我如何找到不同的计数?我是否使用更传统的方法,如相关子查询

再进一步研究一下,这些OVER函数的工作方式可能与Oracle不同,因为它们不能在SQL Server中用于计算运行总数

我在SQLfiddle上添加了一个实例,尝试使用一个分区函数来计算运行总数

有一个非常简单的解决方案,使用densite\u rank()

densite\u rank()覆盖(按[UserAccountKey]按[Mth]顺序划分)
+(按[UserAccountKey]desc按[Mth]顺序划分)
- 1

这将为您提供确切的要求:每个月内不同的UserAccountKey的数量

发表评论