Xem xét phân vùng partition by tương tự với các trường mà bạn sẽ group by , sau đó, khi các giá trị phân vùng thay đổi, chức năng cửa sổ sẽ khởi động lại lúc 1
CHỈNH SỬA được chỉ ra bởi a_horse_with_no_name, cho nhu cầu này, chúng tôi cần dense_rank() không giống như row_number() rank() hoặc dense_rank() lặp lại các con số mà nó chỉ định. row_number() phải là một giá trị khác nhau cho mỗi hàng trong một phân vùng. Sự khác biệt giữa rank() và dense_rank() là cái sau không "bỏ qua" số.
Đối với truy vấn của bạn, hãy thử:
dense_rank() over (partition by Username, Game order by ct."date") as "Attempts"
Nhân tiện, bạn không phân vùng theo và sắp xếp theo cùng một trường; chỉ cần đặt hàng sẽ là đủ nếu đó là nhu cầu. Nó không có ở đây.