Q
Problem solve Get help with specific problems with your technologies, process and projects.

Cumulative quantities

I have a table containing three fields: code, date, quantity. I want to know the date, quantity and cumulative quantity for the given code and period also.

I have a table containing three fields: code, date, quantity. I want to know the date, quantity and cumulative quantity for the given code and period also.

What we'll need to do is to add up the quantities on all the rows which have a date that is less than or equal to the date of each row. This means a self-join.

```select t1.date
, t1.quantity
, sum(t2.quantity) as cumulative_qty
from yourtable as t1
inner
join yourtable as t2
on t2.code = t1.code
and t2.date <= t1.date
where t1.code = 'PID'
group
by t1.date
, t1.quantity```

The self-join will join each row in the table (T1) to all the other rows in the table (T2) for the same code which have an equal or earlier date. Conceptually, for the earliest row, it's joining that row to itself, for the second earliest row, it's joining that row to both itself and the earliest row, for the third earliest row, it's joining that row to both itself and the two earlier rows, etc. By the time you're at the latest row in the table, it's joining that row to itself and all the other rows in the table.

To restrict the results to a specific period, you have to include the period in both the ON clause and the WHERE clause:

```select t1.date
, t1.quantity
, sum(t2.quantity) as cumulative_qty
from yourtable as t1
inner
join yourtable as t2
on t2.code = t1.code
and t2.date <= t1.date
and t2.date between '2006-04-01' and '2006-04-30'
where t1.code = 'PID'
and t1.date between '2006-04-01' and '2006-04-30'
group
by t1.date
, t1.quantity```

Is self-joining each row to a number of other rows like this efficient? It can be, with the proper indexes. But there may be a better way to approach the cumulative sum problem. See Running sums, redux for an approach using a cursor. I don't normally even mention using a cursor, because 99% of the time it's less efficient than a set-based solution, but in this case it deserves consideration.

Start the conversation

Send me notifications when other members comment.

SearchDataManagement

• DataStax making Cassandra easier with Kubernetes Operators

New Kubernetes tool for the Apache Cassandra database is DataStax's attempt to create a broadly adopted approach for cloud native...

• Ascend boosts enterprise data governance with data lineage

The new capabilities of Ascend Govern bring data lineage and enterprise data governance as well as the ability to try and figure ...

• The business benefits of enterprise data governance and MDM

Data leaders from prominent large organizations provide insights into data governance best practices and benefits, at ...

• Many employees still resist data-driven culture

While most employees see the benefits of data to drive decision-making, many still resist analytics, according to a report from ...

• SAS analytics platform benefiting from AI investment

Fueled by SAS' investment in AI and augmented intelligence features, the long-established vendor strengthened its BI platform ...

• Trends and top use cases for streaming data analytics

As more enterprises adopt real-time analytics, new infrastructure and best practices are appearing. Here are some trending ...

SearchSAP

• SAP S/4HANA migration: Critical advice for moving off ECC

With the end of SAP ECC support looming in 2027, organizations must make some tough decisions. Here's a look at your choices.

• How to pick a SuccessFactors implementation partner

Selecting the right SuccessFactors implementation partner is a critical step in the journey to deploying the system. Check out ...

• 6 critical steps of a successful SAP S/4HANA migration

A successful S/4HANA project starts with knowing why your organization should even make the move, then nailing down whether S/4 ...

SearchSQLServer

• SQL Server database design best practices and tips for DBAs

Good database design is a must to meet processing needs in SQL Server systems. In a webinar, consultant Koen Verbeeck offered ...

• SQL Server in Azure database choices and what they offer users

SQL Server databases can be moved to the Azure cloud in several different ways. Here's what you'll get from each of the options ...

• Using a LEFT OUTER JOIN vs. RIGHT OUTER JOIN in SQL

In this book excerpt, you'll learn LEFT OUTER JOIN vs. RIGHT OUTER JOIN techniques and find various examples for creating SQL ...

TheServerSide.com

• Developing a COVID-19 application? Design it the right way

Application developers with skills and an idea could design an app to combat the virus. Follow these insights to effectively ...

• How developers can volunteer during the COVID-19 pandemic

What resources can developers offer to go against COVID-19? Explore some promising developer volunteer and open source project ...

• 5 Jenkins alternatives for Java developers

In need of an alternative to Jenkins as part of a CI/CD environment? Consider options from Atlassian, GitLab, Spinnaker, ...

SearchDataCenter

• Tech giants aim supercomputers, clouds at finding a COVID-19 cure

The new COVID-19 HPC consortium comprised of tech giants, national labs and academia are using supercomputers and clouds to speed...

• Top vendor SDDC certification programs for admins

If you decide to grow your knowledge of software-defined data center technologies, VMware, Nuage Networks and Microsoft offer ...

• Build up your knowledge of leaf-spine network technology

As organizations deal with challenges of single tree path networks, many admins are considering leaf-spine architectures. Learn ...

SearchContentManagement

• Creating digital experiences key to driving exceptional CX

The way in which businesses build digital experiences is ever-evolving. It's a race to create easier-to-use customer interfaces ...

• Vendors offer free remote work technology for telecommuting

It's more than a marketing ploy: Cloud technology vendors, seeing their own issues enabling remote work, extend paid products to ...

• How businesses should deal with enterprise search issues

Enterprise search issues frequently complicate user experience with ECM systems. While users may face many problems, they also ...

SearchHRSoftware

• Best-case, worst-case pandemic scenarios for India service providers

India's IT and business support services will be tested during that country's pandemic lockdown. Many workers are now operating ...

• Farmers Insurance piloting human-like VR training

VR training has become a best practice at Farmers Insurance Exchange. Its claims adjusters are being exposed to more scenarios ...

• Virtual hiring, avoiding layoffs part of HR's pandemic response

In the face of a pandemic, many firms are trying to avoid layoffs and even hire. They are using virtual tools, including testing ...

Close