SQL中的一个简单子查询

时间:2016-12-25 07:34:30

标签: sql

我有一个表ORDERS,其中包含NAME列和AMOUNT列。

我需要获得每个产品的NAMEAMOUNT

我有这样的解决方案

select PRODUCT_NAME, SUM(AMOUNT) from ORDERS GROUP BY PRODUCT_NAME;

但我不使用任何子查询来实现这一点。但是,我经历的教训是关于子查询。这个解决方案可能是我错了吗?

2 个答案:

答案 0 :(得分:0)

它是一个简单的聚合查询,不需要像以下那样的子查询:

SELECT name, SUM(AMOUNT)
FROM Orders
GROUP BY name

答案 1 :(得分:0)

这个解决方案非常好:

selectname, sum(amount)
from Orders
group by name

但是,如果你必须使用子查询,请使用:

select o2.name,
  (select sum(amount)
   from Orders o1
   where o1.name = o2.name) as total
from
(select distinct name
from Orders) o2