Skip to content
Advertisement

How to use SUM and MAX on the same column?

So I’m having an SQL table where I will need find out the product that has been purchased the most meaning that I need to do a SUM and a group by on all the quantity of the products:

However when I try to find the product with the maximum amount of purchases it gives me an error:

Any ideas?

Advertisement

Answer

Just order by and keep the top record only:

The actual syntax might vary accross RDBMS. The above would work in MySQL and Postgres.

In SQL Server, you would use SELECT TOP (1) ... ORDER BY SUM_QUANTITY DESC.

In Oracle >= 12c, you would use SELECT ... ORDER BY SUM_QUANTITY DESC FETCH FIRST ROW ONLY.

You also have to consider the possibilty of ties in the first position, for which there are different strategies depending on your requirement and RDBMS.

User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement