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

Tabulka dotazů se součtem VŠECH předchozích pozic, kromě aktuální pozice

Vypadá to, že to lze snadno provést pomocí funkcí okna:

select id, date, position, name, 
       row_number(*) over (partition by name, date order by id) as races,
       count(*) filter (where position = 1) over (partition by name, date)  as wins
from the_table;

Nerozumím logice výpočtu places i když sloupec.



  1. Jak vrátím 0 z databáze MySQL, když termín v klauzuli Where není v databázi?

  2. Instalace SQLite

  3. Oracle 9i, Oracle 10g a Oracle 11g Developer Suite Forms and Reports Tutorial

  4. PDO připravte příkaz a porovnejte s ním v booleovském režimu