Pages

Sunday, May 4, 2014

Calculate Running Total, Total of a Column and Row

Many times, you required to show information of each transaction and also keep a Running Total and Final Total like GridView in Asp.Net. In this article, I am going to explain, how can you achieve this using SQL Query in simple and easy way.
Suppose you have the below CustomerOrders table and has the data as shown below:
  1. CREATE TABLE CustomerOrders
  2. (
  3. OrderID int identity,
  4. Amount Decimal(8,2),
  5. OrderDate SmallDatetime default getdate()
  6. )
  7.  
  8. Go
  9. INSERT INTO CustomerOrders(Amount) Values(120.12)
  10. INSERT INTO CustomerOrders(Amount) Values(20.12)
  11. INSERT INTO CustomerOrders(Amount) Values(10.12)
  12. INSERT INTO CustomerOrders(Amount) Values(30.12)
  13. INSERT INTO CustomerOrders(Amount) Values(40)
  14.  
  15. GO
  16. SELECT * FROM CustomerOrders

Calculating Running Total

Let's see how to calculate the running total using SQL Query as given below:
  1. select OrderID, OrderDate, CO.Amount
  2. ,(select sum(Amount) from CustomerOrders
  3. where OrderID <= CO.OrderID)
  4. 'Running Total'
  5. from CustomerOrders CO

Calculating Final Total

Let's see how to calculate the final total using ROLLUP with in SQL Query as given below:
  1. SELECT OrderID, SUM(Amount) AS Amount
  2. FROM CustomerOrders
  3. GROUP BY OrderID WITH ROLLUP

Calculating Total of All Numeric columns in a row

Let's see how to calculate the total of all numeric fields with in a row using SQL Query as given below:
  1. SELECT OrderID, Amount, SUM(OrderID+Amount) AS RowNumericColSum
  2. FROM CustomerOrders
  3. GROUP BY OrderID,Amount
  4. ORDER BY OrderID

What do you think?
I hope you will enjoy the tips while writing query in SQL Server. I would like to have feedback from my blog readers. Your valuable feedback, question, or comments about this article are always welcome.

No comments:

Post a Comment