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

Bagaimana saya harus menangani data peringkat x dari y di PostgreSQL?

Jika Anda ingin peringkat, lakukan sesuatu seperti

SELECT id,num,rank FROM (
  SELECT id,num,rank() OVER (ORDER BY num) FROM foo
) AS bar WHERE id=4

Atau jika Anda benar-benar menginginkan nomor baris, gunakan

SELECT id,num,row_number FROM (
  SELECT id,num,row_number() OVER (ORDER BY num) FROM foo
) AS bar WHERE id=4

Mereka akan berbeda ketika Anda memiliki nilai yang sama di suatu tempat. Ada juga density_rank() jika Anda membutuhkannya.

Ini membutuhkan PostgreSQL 8.4, tentu saja.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tanda kutip tunggal muncul di sekitar nilai setelah menjalankan salinan di postgres 9.2

  2. Symfony/Doctrine:Bagaimana cara membuat Doctrine bekerja dengan soket Unix?

  3. PILIH kolom dinamis tanpa fungsi di PostgreSQL

  4. SQLAlchemy Core - menghasilkan ekspresi SUBSTRING PostgreSQL?

  5. plpgsql:memanggil fungsi dengan 2 parameter OUT