Considera partition by
essere simili ai campi per i quali group by
, quindi, quando i valori della partizione cambiano, la funzione di windowing si riavvia da 1
EDIT come indicato da a_horse_with_no_name, per questa esigenza abbiamo bisogno di dense_rank()
a differenza di row_number()
rank()
o dense_rank()
ripetere i numeri che assegna. row_number()
deve essere un valore diverso per ogni riga in una partizione. La differenza tra rank()
e dense_rank()
è quest'ultimo non "salta" i numeri.
Per la tua domanda prova:
dense_rank() over (partition by Username, Game order by ct."date") as "Attempts"
A proposito, non partizioni e ordini per lo stesso campo; basta ordinare per se questo fosse il bisogno. Non è qui.