PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Fungsi jendela PostgreSQL:row_number() over (partisi col order by col2)

Pertimbangkan partition by agar serupa dengan bidang yang akan Anda group by , kemudian, ketika nilai partisi berubah, fungsi windowing dimulai ulang pada 1

EDITas ditunjukkan oleh a_horse_with_no_name, untuk kebutuhan ini kita membutuhkan dense_rank() tidak seperti row_number() rank() atau dense_rank() ulangi angka yang diberikannya. row_number() harus menjadi nilai yang berbeda untuk setiap baris dalam partisi. Perbedaan antara rank() dan dense_rank() adalah yang terakhir tidak "melewati" angka.

Untuk kueri Anda, coba:

dense_rank() over (partition by Username, Game order by ct."date") as "Attempts"

Anda tidak mempartisi berdasarkan, dan mengurutkan berdasarkan, bidang yang sama; hanya memesan dengan akan cukup jika itu kebutuhan. Itu tidak ada di sini.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menggunakan EXECUTE FORMAT ... MENGGUNAKAN dalam fungsi postgres

  2. Format waktu Rails Activerecord/Postgres

  3. 2 Cara Mendapatkan Ukuran Database di PostgreSQL

  4. Instal PostgreSQL di Ubuntu 18.04

  5. Postgres JSONB rekursif