sql >> Databáze >  >> RDS >> PostgreSQL

Funkce okna PostgreSQL:row_number() over (pořadí sloupců oddílu podle sloupce2)

Zvažte partition by aby byla podobná polím, která byste group by a poté, když se změní hodnoty oddílu, funkce okna se restartuje na 1

ÚPRAVY označené a_horse_with_no_name, pro tuto potřebu potřebujeme dense_rank() na rozdíl od row_number() rank() nebo dense_rank() opakujte čísla, která přiřadí. row_number() musí mít jinou hodnotu pro každý řádek v oddílu. Rozdíl mezi rank() a dense_rank() je ten druhý "nepřeskakuje" čísla.

Pro váš dotaz zkuste:

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

Mimochodem, nerozdělujete a neřadíte podle stejného pole; kdyby to bylo potřeba, stačilo by jen objednat. Tady to není.




  1. Chyba #1066 - Není jedinečná tabulka/alias v MySQL

  2. Načítání informací o datových typech pro sloupce v Oracle OCCI ResultSet

  3. SSH tunelování připojení MySQL pomocí C#

  4. Hierarchické značkování v SQL