SQL:选择前3条记录+数量总和

SQL:选择前3条记录+数量总和,sql,sql-server,count,Sql,Sql Server,Count,我想显示现有订单表中的前3条记录。为了实现这一点,我需要计算每个产品的数量之和 现有记录: OrderNo ProductID Quantity 1 1 50 1 2 30 1 3 20 2 2 30 3 1 100 3 4

我想显示现有订单表中的前3条记录。为了实现这一点,我需要计算每个产品的数量之和

现有记录:

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
预期产量

ProductID     Quantity
1             170
2             70
4             50
您需要求和,然后按此汇总值排序:

SELECT TOP 3 ProductID, SUM(Quantity) as qSum
FROM Table
GROUP BY ProductID
ORDER BY qSum DESC

预期输出是如何以及为什么来自当前表的?我认为对于ProductID=1,数量应该是170:得到了相同的答案,除了qSum的订单。非常感谢。
SELECT TOP 3 ProductID, SUM(Quantity) as SUMQUANTITY
FROM Table1
GROUP BY ProductID
ORDER BY SUMQUANTITY desc