Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Total cumulé SQL regroupé par date

Si vous utilisez un produit qui implémente des clauses OVER ordonnées pour SUM, vous pouvez faire quelque chose comme ceci :

select
  cast(DeliveredDate as date) as DeliveredDate,
  count(Delivered) as Delivered,
  sum(count(Delivered)) over (
    order by DeliveredDate
  ) as RunningTotal
from Orders
group by OrderDate
order by OrderDate;

Votre expression count(Delivered) est un peu étrange. Juste pour être sûr que c'est ce que vous voulez :il comptera le nombre de lignes à la date particulière pour lesquelles la valeur dans la colonne Livré n'est PAS NULL.