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

Funkcja okna PostgreSQL:row_number() over (kolejność partycji wg col2)

Rozważ partition by być podobnym do pól, które group by , a następnie, gdy zmienią się wartości partycji, funkcja okienkowania uruchomi się ponownie o 1

EDIToznaczone przez a_horse_with_no_name, do tej potrzeby potrzebujemy dense_rank() w przeciwieństwie do row_number() rank() lub dense_rank() powtórz przypisane numery. row_number() musi być inną wartością dla każdego wiersza w partycji. Różnica między rank() i dense_rank() czy ta ostatnia nie „pomija” liczb.

W przypadku zapytania spróbuj:

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

Nawiasem mówiąc, nie dzielisz według i nie porządkujesz według tego samego pola; wystarczyłoby zamówić przez, gdyby była taka potrzeba. Nie ma go tutaj.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Railsy nie mogą zalogować się do postgresql - PG::Error - hasło - Poprawne informacje

  2. Błąd instalacji podczas próby zainstalowania aplikacji gis przy użyciu geodjango?

  3. Czy kolejność PostgreSQL jest w pełni gwarantowana w przypadku sortowania według nieunikalnego atrybutu?

  4. Odejmij godziny od funkcji now()

  5. Poprawa szybkości zapytań:prosty SELECT w dużej tabeli postgres