sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur beräknar man en ackumulerad summa nerifrån och upp?

Prova detta

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

Ett annat sätt

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. SQL Server Temporary Object Caching

  2. Konvertera kommaseparerad sträng till array i PL/SQL

  3. Ange specifika fält med Sequelize (NodeJS) istället för *

  4. Tablespace SYSMGMTDATA är FULL i Grid Infrastructure Management Repository (MGMTDB)