PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Hàm cửa sổ PostgreSQL:row_number () over (thứ tự col phân vùng theo col2)

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()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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JOOQ không tạo thủ tục quá tải giá trị bảng từ PostgreSql

  2. postgres:tìm tất cả các cột số nguyên có giá trị tối đa hiện tại của nó trong đó

  3. python + psycopg2 =loại không xác định?

  4. PostgreSQL 9.5:Ẩn mật khẩu khỏi kết nối dblink

  5. Tên ứng dụng trong url JDBC sử dụng c3p0