sql >> Base de Datos >  >> RDS >> PostgreSQL

Función de ventana de PostgreSQL:row_number () sobre (orden de columna de partición por col2)

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í.