sql >> Database >  >> RDS >> PostgreSQL

Hoe bereken je een cumulatieve som van onder naar boven?

Probeer dit

SELECT 100+ Sum(CASE WHEN name = 'a' THEN qty ELSE 0 END)OVER(ORDER BY itemorder DESC) as modifyed_sum,
       qty,
       name,
       itemorder
FROM   Yourtable
ORDER  BY itemorder ASC

Een andere manier

SELECT 100 + (SELECT Sum(CASE WHEN b.name = 'a' THEN b.qty ELSE 0 END)
              FROM   yourtable  b
              WHERE  a.itemorder <= b.itemorder),
       qty,
       name,
       itemorder
FROM   yourtable a
ORDER  BY itemorder ASC


  1. hoe de volgorde van kolommen te veranderen

  2. Meerdere kolommen/velden selecteren in MySQL-subquery

  3. PostgreSQL - kolomwaarde gewijzigd - selecteer query-optimalisatie

  4. Waarom duurt een UPDATE veel langer dan een SELECT?