Q
Manage Learn to apply best practices and optimize your operations.

# How to use GROUP BY GROUPING SETS to find books with multiple authors

## SQL expert Karen Morton explains how to use GROUP BY GROUPING SETS in an SQL query to find all books with more than one author in your books database.

How do I sum the values of a column based on a comparison with another column?

Eg., I have columns num1, num2, val, sumval.

I want to group num1 and num2 columns and get sum(sumval), and this sum should happen for max(val) = val in the same table.

create table tempval(num1 number, num2 number, val number, sumval number);

insert into tempval values(111, 222, 1, 10);
insert into tempval values(111, 222, 1, 20);
insert into tempval values(111, 222, 2, 30);
insert into tempval values(111, 222, 2, 40);
insert into tempval values(111, 333, 1, 15);
insert into tempval values(111, 333, 4, 25);

In the above, I need to get the output as two records as like below:

A. 111, 222, 70		(70 is the sum value based on 2 records since 2 is max for this group.
B. 111, 333, 25		(25 is the sum value based on 1 record since 4 is max value for this group)

Try this:

SQL>create table tempval(num1 number, num2 number, val number, sumval number);

Table created.

SQL>
SQL>insert into tempval values(111, 222, 1, 10);

1 row created.

SQL>insert into tempval values(111, 222, 1, 20);

1 row created.

SQL>insert into tempval values(111, 222, 2, 30);

1 row created.

SQL>insert into tempval values(111, 222, 2, 40);

1 row created.

SQL>insert into tempval values(111, 333, 1, 15);

1 row created.

SQL>insert into tempval values(111, 333, 4, 25);

1 row created.

SQL>commit ;

Commit complete.

I'm executing this query first to show you how the final answer is built. I use the MAX analytic function to compute the MAX val column value for each grouping of num1, num2.

SQL>select num1, num2, val, sumval,
2  max(val) over (partition by num1, num2) max_val
3  from tempval ;

NUM1            NUM2             VAL          SUMVAL         MAX_VAL
--------------- --------------- --------------- --------------- ---------------
111             222               1              10               2
111             222               1              20               2
111             222               2              30               2
111             222               2              40               2
111             333               1              15               4
111             333               4              25               4

6 rows selected.

Now, all I have to do is create a filter predicate that only retains rows where the VAL and MAX_VAL match and then group things up and do the final SUM.

SQL>
SQL>select num1, num2, sum(sumval) totsum
2  from
3  (
4  select  num1, num2, val, sumval,
5     max(val) over (partition by num1, num2) max_val
6  from tempval
7  )
8  where val = max_val
9  group by num1, num2
10  ;

NUM1            NUM2          TOTSUM
--------------- --------------- ---------------
111             222              70
111             333              25

2 rows selected.

Have a question for Karen Morton? Send an e-mail to editor@searchoracle.com

#### Start the conversation

Send me notifications when other members comment.

## SearchDataManagement

• ### Developing an enterprise data strategy: 10 steps to take

Consultants detail 10 to-do items for data management teams looking to create a data strategy to help their organization use data...

• ### How graph data science is helping the fight against COVID-19

Technology to rapidly correlate and connect disparate data sets in a knowledge graph is being used by German researchers and ...

• ### Okera sees increasing demand for enterprise data governance

Data governance and access vendor raises \$14 million as incoming CEO Nick Halsey sees a continuing need for enterprise data ...

• ### OmniSci analytics tools to come embedded in HP workstations

Under the terms of an agreement between OmniSci and HP revealed on Thursday, OmniSci's BI platform will come as a preloaded ...

• ### Economic downturn shows businesses true value of analytics

Business intelligence is proving to be a critical tool for enterprises as they attempt to survive during the sudden economic ...

• ### Key differences of a data scientist vs. data engineer

Data scientists and data engineers often work together, and sometimes the positions are treated as the same. Read on to find out ...

## SearchSAP

• ### SAP Cloud Platform app helps German citizens find their way home

Rückholprogramm, an SAP Cloud Platform app, was built in just a few days to fulfill a request from the German Federal Foreign ...

• ### SAP S/4HANA deployment options: Legacy ERP vs. cloud

Take this tour of the on-premises S/4HANA and its two cloud siblings and get expert advice on major differences in cost and ...

## 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

• ### Compare these top 6 Java IDEs for development

Find the Java IDE that best fits your development needs. Compare these options from Eclipse, NetBeans, IntelliJ, JDeveloper, ...

• ### Eclipse launches Theia 1.0 as alternative to VS Code

The Eclipse Foundation's Theia framework for building desktop and cloud IDEs has the potential to be as big as the initial ...

• ### 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 ...

## SearchDataCenter

• ### Advances in server hardware components speed up data centers

Server hardware has consistently evolved since the 1980s. Now, IT professionals can implement the latest in CPU and GPU ...

• ### Improvements in CPU features help shape selection

CPUs have evolved to meet ever-increasing technology demands. We look at the way performance and power characteristics have ...

• ### Dive into the quantum computing qubit with IBM's Bob Sutor

The quantum computing industry is entering a new era. IBM's Bob Sutor discusses the technology's importance and how his latest ...

## SearchContentManagement

• ### Enterprise search software comparison

Enterprise search has always been both a necessity and a challenge, and vendors have sought to bring improvements to the market ...

• ### New OpenText CE apps, services roll out

OpenText containerizes its applications for cloud deployment; adds raft of content services and features for customer experience ...

• ### Box Shield adds malware detection

Box Inc. quarantines malware-infected files with features that allow content to be viewed, with admin and security team alerts to...

## SearchHRSoftware

• ### Food industry turns to AI hiring platform to fill 1M jobs

The food industry is hungry for employees. It has a shopping list of occupations it needs filled to keep essential food producers...

• ### How companies can use tech to ramp up remote work productivity

With the sudden spike of employees working from home, companies need to get creative in how they keep employees connected and ...

• ### H-1B work visa petitions hit record high, despite pandemic

The U.S. received a record 275,000 H-1B work visas for the 2021 fiscal year. But these visa petitions were prepared in better ...

Close