如何在此查询中运行GROUP BY子句?

时间:2017-09-15 02:58:00

标签: sql

编写一个返回三列的SELECT语句:

EmailAddressOrderID以及每个order total的{​​{1}}。

为此,您可以按customerEmailAddress列对结果集进行分组。

此外,您必须从OrderID表中的列计算订单总数。

OrderItems

2 个答案:

答案 0 :(得分:2)

您正在寻找GROUP BYSUM()

SELECT c.EmailAddress, oi.OrderID,
       SUM(oi.ItemPrice * oi.Quantity - oi.DiscountAmount)
FROM Customers c JOIN
     Orders o
     ON c.CustomerID = o.CustomerID JOIN
     OrderItems oi
     ON o.OrderID = oi.OrderID
GROUP BY c.EmailAddress, oi.OrderID;

答案 1 :(得分:0)

列必须出现在GROUP BY子句中,或者用在聚合函数中。你的专栏

(oi.ItemPrice * oi.Quantity) - oi.DiscountAmount

不符合此要求。我假设你想做的是

sum((oi.ItemPrice * oi.Quantity) - oi.DiscountAmount)