Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SQL: Select Top 3 Records + Sum of Quantity

I would like to display the top 3 records from the existing Orders table. In order to accomplish this, I need to calculate the sum of each product's quantity.

Existing Records:

OrderNo     ProductID     Quantity
1           1             50
1           2             30
1           3             20
2           2             30
3           1             100
3           4             50
4           1             20
4           5             10
5           2             10

Expected Output

ProductID     Quantity
1             170
2             70
4             50
like image 530
abramlimpin Avatar asked Aug 01 '13 04:08

abramlimpin


People also ask

How do I find the top 3 values of a table in SQL?

You can get top 3 dates in a row by pivoting the table and perhaps concatenating the dates if you want them in one column after pivoting. Edit : here is a query to pivot the table and provide the latest 3 dates in a row. But to pivot you would need to know the data that is available in the table.

How do you SUM amounts in SQL?

If you need to add a group of numbers in your table you can use the SUM function in SQL. This is the basic syntax: SELECT SUM(column_name) FROM table_name; The SELECT statement in SQL tells the computer to get data from the table.


1 Answers

You need to SUM and then ORDER BY this summary value:

SELECT TOP 3 ProductID, SUM(Quantity) as qSum
FROM Table
GROUP BY ProductID
ORDER BY qSum DESC
like image 140
Maxim Zhukov Avatar answered Oct 05 '22 21:10

Maxim Zhukov