Calculate Running Total, Total of a Column and Row

 Print 
  Author : Shailendra Chauhan
Posted On : 12 Mar 2013
Total Views : 179,440   
Updated On : 26 Sep 2016
 

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:

CREATE TABLE CustomerOrders
(
 OrderID int identity,
 Amount Decimal(8,2),
 OrderDate SmallDatetime default getdate()
 )

Go
 
 INSERT INTO CustomerOrders(Amount) Values(120.12)
 INSERT INTO CustomerOrders(Amount) Values(20.12)
 INSERT INTO CustomerOrders(Amount) Values(10.12)
 INSERT INTO CustomerOrders(Amount) Values(30.12)
 INSERT INTO CustomerOrders(Amount) Values(40)

GO
 
 SELECT * FROM CustomerOrders

Calculating Running Total

Let's see how to calculate the running total using SQL Query as given below:

 select OrderID, OrderDate, CO.Amount
 ,(select sum(Amount) from CustomerOrders 
 where OrderID <= CO.OrderID)
 'Running Total'
from CustomerOrders CO

Calculating Final Total

Let's see how to calculate the final total using ROLLUP with in SQL Query as given below:

SELECT OrderID, SUM(Amount) AS Amount
FROM CustomerOrders
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:

SELECT OrderID, Amount, SUM(OrderID+Amount) AS RowNumericColSum
FROM CustomerOrders
GROUP BY OrderID,Amount
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.



Free Interview Books
 
COMMENTS
Anjan Bose Reply 300 days 15 hours 42 mins ago

Calculating Final Total

SELECT coalesce(convert(varchar(max),OrderID),'Total') as ORDID, SUM(Amount) AS Amount

FROM CustomerOrders

GROUP BY OrderID WITH ROLLUP

This may look more good.

Mahesh Saw Reply 518 days 23 hours 46 mins ago

It is very Use full for me...Thank You Sir

Manish kumar Reply 566 days 3 hours 32 mins ago

Hello sir, I am learner of sql and java jsp and I have followed your above running balance of DATABASE DATE WISE but MY MS ACCESS DATA BASE NO ACTIVATED TOSE ABOVE ,can you suggest us what type of error , I am posting entire jsp +sql code? can any body solve this SQL code running total, it is not working MS ACCESS Database?

SUBSCRIBE TO OUR YOUTUBE CHANNEL
 
 
 
LIKE US ON FACEBOOK
 
+