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

Làm cách nào để xử lý dữ liệu được xếp hạng x / y trong PostgreSQL?

Nếu bạn muốn có thứ hạng, hãy làm điều gì đó như

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

Hoặc nếu bạn thực sự muốn số hàng, hãy sử dụng

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

Chúng sẽ khác nhau khi bạn có các giá trị bằng nhau ở đâu đó. Ngoài ra còn có secure_rank () nếu bạn cần.

Tất nhiên, điều này yêu cầu PostgreSQL 8.4.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. gọi lại lệnh tùy chỉnh đồng hồ đêm

  2. Lỗi PostgreSQL:Fatal:tên người dùng vai trò không tồn tại

  3. Lấy số tuần từ một ngày trong PostgreSQL

  4. Làm cách nào để đặt '5 ngày' (khoảng thời gian ngày tháng) trong jdbc cho PostgreSQL?

  5. Cách Trunc () hoạt động trong PostgreSQL