Функция разделения COUNT () OVER возможна с использованием DISTINCT

Я пытаюсь написать следующее, чтобы получить итоговую сумму отдельных NumUsers, например так:

NumUsers = COUNT(DISTINCT [UserAccountKey]) OVER (PARTITION BY [Mth])

Управляющая студия, похоже, не слишком этому рада. Ошибка исчезает при удаленииDISTINCT ключевое слово, но тогда он не будет иметь четкого значения.

DISTINCT не представляется возможным в функциях раздела. Как мне найти точный счет? Я использую большеtraditional такой метод, как коррелированный подзапрос?

Рассматривая это немного дальше, может быть, этиOVER функции работают иначе, чем в Oracle, поэтому их нельзя использовать вSQL-Server рассчитать промежуточные итоги.

Я добавил живой пример здесьSQLfiddle где я пытаюсь использовать функцию разбиения для вычисления промежуточного итога.

Ответы на вопрос(4)

Ваш ответ на вопрос