【问题标题】:SQL: Select Top 3 Records + Sum of QuantitySQL:选择前 3 条记录 + 数量总和
【发布时间】:2013-08-01 20:53:32
【问题描述】:

我想显示现有 Orders 表中的前 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

【问题讨论】:

  • 预期输出如何以及为什么来自当前表?
  • 我认为 ProductID = 1,数量应该是 170 :)

标签: sql sql-server count


【解决方案1】:

你需要SUM然后ORDER BY这个汇总值:

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

【讨论】:

  • 得到了相同的答案,除了 ORDER BY qSum。谢谢。
【解决方案2】:
SELECT TOP 3 ProductID, SUM(Quantity) as SUMQUANTITY
FROM Table1
GROUP BY ProductID
ORDER BY SUMQUANTITY desc

SQL Fiddle Demo

【讨论】:

    猜你喜欢
    • 2011-01-24
    • 1970-01-01
    • 2020-06-29
    • 2012-06-21
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多