Monday, October 19, 2020

SQL - SUM() OVER()

  SELECT AccountID,

SUM(Quantity) AS SumGroupByID

FROM [dbo].[AccountTable]

Group By AccountID

ORDER BY AccountID

 


SELECT ID, AccountID, Quantity,

SUM(Quantity) OVER (PARTITION BY AccountID ) AS SumByID

FROM [dbo].[AccountTable] ORDER BY AccountID

 




SELECT ID, AccountID, Quantity,

SUM(Quantity) OVER () AS TotalQuantity

FROM [dbo].[AccountTable] ORDER BY AccountID

 




SELECT ID, AccountID, Quantity,

SUM(Quantity) OVER (PARTITION BY AccountID ORDER BY ID) AS SumByID

FROM [dbo].[AccountTable] ORDER BY AccountID

 


SELECT  ID,

        AccountID,

        Quantity,

        SUM(Quantity) OVER (PARTITION BY AccountID

                           ORDER BY AccountID

ROWS Between UNBOUNDED PRECEDING And CURRENT ROW ) AS RunningSumByID

FROM [dbo].[AccountTable]

 


SELECT AccountID,

       SUM(Quantity) As RunningTotalByAccoungID,

       SUM(SUM(Quantity)) over () as TotalQuantity,

       100.0 * SUM(Quantity) / SUM(SUM(Quantity)) OVER () AS PERCENTAGE

FROM [dbo].[AccountTable]

GROUP BY AccountID;

 


 

No comments:

Post a Comment