PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Tabela de consulta com soma de TODAS as posições anteriores, excluindo a posição atual


Parece que isso pode ser feito facilmente usando as funções da janela:
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;

Não entendo a lógica para calcular os places coluna embora.