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

SQL Daily Outstanding Sales, Rolling Aggregate?

U kunt voorwaardelijke aggregatie en een cumulatieve som gebruiken:

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;

Dit veronderstelt dat elke saleId heeft maximaal één "nieuw" en één "volledig" record -- wat logisch is en waar is in uw voorbeeldgegevens.




  1. PHP om PostGIS-geografietypen op te halen

  2. Zoeken in een database met phpMyAdmin

  3. hoe composiet uniek aan een kolom in de tabel toe te voegen mysql

  4. Hoe de relatieweergave in phpmyadmin in te schakelen