sql >> Databáze >  >> Database Tools >> SSMS

SQL Daily Vynikající prodeje, Rolling Aggregate?

Můžete použít podmíněnou agregaci a kumulativní součet:

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;

To předpokládá, že každý saleId má nanejvýš jeden „nový“ a jeden „úplný“ záznam – což dává smysl a je pravdivé ve vašich ukázkových datech.




  1. Mazání duplikátů na základě více sloupců

  2. Jak vypsat DISTINCT ALL produkty z databáze

  3. SSMS – SQL Azure v12 Preview – neznámá vlastnost IsNativelyCompiled

  4. Najít uloženou proceduru podle názvu