sql >> Databasteknik >  >> Database Tools >> SSMS

SQL dagligen enastående försäljning, rullande aggregat?

Du kan använda villkorlig aggregering och en kumulativ summa:

select date,
       sum(sum(case when outcome = 'New' then 1
                    when outcome  'Complete' then -1
                    else 0
               end)
           ) over (order by date) as VolumeOutstanding
from t
group by date
order by date;

Detta förutsätter att varje saleId har högst en "ny" och en "fullständig" post -- vilket är vettigt och är sant i dina exempeldata.




  1. Kan inte använda ett skalärt värde som en array när phpmyadmin först öppnas från xamp

  2. Hitta tidsskillnaden mellan två på varandra följande rader i samma tabell i sql

  3. MySQL REPLACE-satsen är felaktig? Ett nytt uttalande hittades, men ingen avgränsare

  4. Kan inte installera adventureworks 2012 databas - Operativsystemfel 5:Åtkomst nekad