sql >> Database >  >> RDS >> PostgreSQL

Hoe groepen partities opsommen in mijn Postgres-tabel met vensterfuncties?

Je lijkt iets als 1 meer te willen dan de cumulatieve som van de delen. De eenvoudigste methode is:

select t.*,
       (case when part = 1 then 0  -- the easy case
             else 1 + sum(part) over (order by id)
        end) as number
from t;

Als part kan andere waarden aannemen dan 0 en 1:

select t.*,
       (case when part = 1 then 0  -- the easy case
             else 1 + sum( (part = 1)::int ) over (order by id)
        end) as number
from t;


  1. MySQL Split door komma's gescheiden string in temp-tabel

  2. Hoe json-uitvoer in mysql in te voegen met node js

  3. MySQL Hoe maak ik deze subquery aan?

  4. 3 manieren om het aantal rijen in elke partitie in SQL Server (T-SQL) te retourneren