如何组合SELECT DISTINCT和SUM()

时间:2014-09-10 06:19:11

标签: sql select

我在Oracle中有一个像下面给出的表:

[Products]
Product_ID | Product_NME | Product_SUP | Quantity
=================================================
    1         Apple         USA           100
    2         Fish          Japan          50
    3         Wine          Italy          10
    4         Apple         China          30
    5         Fish          Germany        10

我需要一个查询,可以Quantity找到每Product_NME个完整的DISTINCT

预期结果应为:

  • apple 130
  • fish 60
  • wine 10

我试图像shown here那样修改它:

SELECT
    distinct(Product_NME, Product_SUP), sum(Quantity)
FROM
    Products

但这不是我的理由。我也试过这个:

SELECT DISTINCT  Product_NME
FROM Products 
UNION
SELECT SUM(Quantity) FROM Products 

但也没有用。

任何人都可以帮我吗?

  • 感谢

3 个答案:

答案 0 :(得分:6)

DISTINCT不是您要找的条款!

GROUP BY是。

以下查询将返回所有产品以及每个产品的总数量。

SELECT
  Product_NME
  , SUM(Quantity) AS TotalQuantity
FROM
  Products 
GROUP BY
  Product_NME

答案 1 :(得分:0)

SELECT Product_NME, SUM(Quantity) FROM Products GROUP BY Product_NME 

答案 2 :(得分:0)

您不需要区分不同的产品名称:

SELECT  Product_NME , SUM(Quantity) AS TotalQTY 

FROM  Products 

GROUP BY Product_NME