Jest bardzo proste rozwiązanie za pomocą dense_rank()
dense_rank() over (partition by [Mth] order by [UserAccountKey])
+ dense_rank() over (partition by [Mth] order by [UserAccountKey] desc)
- 1
Dzięki temu uzyskasz dokładnie to, o co prosiłeś:liczbę odrębnych kluczy konta użytkownika w każdym miesiącu.