Zde je to, na co jsem nedávno narazil. Mám to z tohoto příspěvku . Zatím to pro mě funguje opravdu dobře.
DENSE_RANK() OVER (PARTITION BY PartitionByFields ORDER BY OrderByFields ASC) +
DENSE_RANK() OVER (PARTITION BY PartitionByFields ORDER BY OrderByFields DESC) - 1 AS DistinctCount