PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak mam obsłużyć uszeregowane x z y danych w PostgreSQL?

Jeśli chcesz uzyskać rangę, zrób coś takiego

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

Lub jeśli rzeczywiście chcesz podać numer wiersza, użyj

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

Będą się różnić, gdy masz gdzieś równe wartości. W razie potrzeby dostępna jest również wartość gęsta_rank().

Wymaga to oczywiście 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. Zdarzenie ROLLBACK wyzwalacze w postgresql

  2. Najlepszy sposób na poznanie procedur składowanych PostgreSQL?

  3. Zapobieganie wstrzykiwaniu SQL w PHP dzięki MDB2

  4. Instalacja PL/Ruby na PostgreSQL 9.3

  5. jak mieć filtr niewrażliwy na akcenty w django z postgresem?