【发布时间】:2012-02-08 10:41:35
【问题描述】:
我编写了以下查询来获取客户电子邮件地址、订单数量(即客户下了多少订单)、订单总价。但我得到了重复的结果。
我想要不同的记录,例如:
客户 A,5 个订单,总计 125 美元 客户 B,2 个订单,总计 150 美元但我得到的结果如下:
客户 A,4 个订单,总计 100 美元 客户 A,1 个订单,总计 25 美元 客户 B,1 个订单,总计 100 美元 客户 B,1 个订单,总计 50 美元你能帮我怎样才能得到我想要的结果。我写了以下查询:
Select
customers.CustomerID,
customers.EmailAddress,
COUNT(Orders.OrderID) AS Ordercount,
Sum(OrderDetails.TotalPrice * OrderDetails.Quantity) AS TotalPrice
from
customers
INNER JOIN Orders ON customers.CustomerID = Orders.CustomerID
INNER JOIN OrderDetails ON OrderDetails.OrderID = Orders.OrderID
GROUP BY
customers.CustomerID,
customers.EmailAddress,
Orders.OrderID,
OrderDetails.TotalPrice,
OrderDetails.Quantity
ORDER BY customers.CustomerID, orders.OrderID desc
【问题讨论】:
-
为什么你的group by中有customerID,却没有选中?
-
对不起,我发布了错误的查询,我的查询如下:Select customers.CustomerID,customers.EmailAddress,COUNT(Orders.OrderID) AS Ordercount,Sum(OrderDetails.TotalPrice * OrderDetails.Quantity) AS TotalPrice from客户 INNER JOIN Orders ON customers.CustomerID = Orders.CustomerID INNER JOIN OrderDetails ON OrderDetails.OrderID = Orders.OrderID GROUP BY customers.CustomerID,customers.EmailAddress,Orders.OrderID,OrderDetails.TotalPrice,OrderDetails.Quantity ORDER BY customers.CustomerID, orders.OrderID 描述
标签: sql