Considere partition by
para que sea similar a los campos por los que group by
, luego, cuando los valores de partición cambian, la función de ventana se reinicia en 1
EDITas como lo indica a_horse_with_no_name, para esta necesidad necesitamos dense_rank()
a diferencia de row_number()
rank()
o dense_rank()
repite los números que asigna. row_number()
debe ser un valor diferente para cada fila en una partición. La diferencia entre rank()
y dense_rank()
es este último no "salta" números.
Para su consulta intente:
dense_rank() over (partition by Username, Game order by ct."date") as "Attempts"
Por cierto, no divide ni ordena por el mismo campo; solo ordenar por sería suficiente si esa fuera la necesidad. No está aquí.