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

Sloupec funkce okna Postgres s kolejnicemi

zkuste toto:

Character.find_by_sql("SELECT *, rank() OVER (ORDER BY points DESC) FROM characters")

měl by vám vrátit objekty znaků s atributem hodnosti, jak je zdokumentováno zde . To však nemusí být agnostické pro databázi a má tendenci být zmatené, pokud procházíte kolem objektů.

dalším (nákladným) řešením je přidat do tabulky sloupec pořadí a nechat zpětné volání přepočítat pořadí všech záznamů pomocí .order, kdykoli je záznam uložen nebo zničen.

upravit:

další nápad vhodný pro dotazy s jedním záznamem můžete vidět zde




  1. Jednoduchý příkaz Postgresql - název sloupce neexistuje

  2. Potřebujete najít průměrnou dobu zpracování mezi všemi záznamy časových razítek v Oracle SQL

  3. PostgreSQL 9.5 - aktualizace nefunguje při sloučení NULL s JSON

  4. Porozumění Javě Oracle na Macu