SQL查询,用于统计每个客户的订单数和总金额

编程入门 行业动态 更新时间:2024-10-27 00:29:02
本文介绍了SQL查询,用于统计每个客户的订单数和总金额的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有两个桌子 Order带有列:

I have two tables Order with columns:

OrderID,OrderDate,CID,EmployeeID

和OrderItem带有列:

OrderID,ItemID,Quantity,SalePrice

我需要返回CustomerID(CID),每个客户的订单数以及所有订单的总金额.

I need to return the CustomerID(CID), number of orders per customer, and each customers total amount for all orders.

到目前为止,我有两个单独的查询.一个给了我客户订单的数量....

So far I have two separate queries. One gives me the count of customer orders....

SELECT CID, Count(Order.OrderID) AS TotalOrders FROM [Order] Where CID = CID GROUP BY CID Order BY Count(Order.OrderID) DESC;

另一个给了我总销售额.我在合并它们时遇到了麻烦...

And the other gives me the total sales. I'm having trouble combining them...

SELECT CID, Sum(OrderItem.Quantity*OrderItem.SalePrice) AS TotalDollarAmount FROM OrderItem, [Order] WHERE OrderItem.OrderID = [Order].OrderID GROUP BY CID

我正在Access 2010中这样做.

I'm doing this in Access 2010.

推荐答案

您将在其他SQL引擎中使用COUNT(DISTINCT ...):

You would use COUNT(DISTINCT ...) in other SQL engines:

SELECT CID, Count(DISTINCT O.OrderID) AS TotalOrders, Sum(OI.Quantity*OI.SalePrice) AS TotalDollarAmount FROM [Order] O INNER JOIN [OrderItem] OI ON O.OrderID = OI.OrderID GROUP BY CID Order BY Count(DISTINCT O.OrderID) DESC

不幸的是,哪个访问不支持.相反,您可以先获取订单金额,然后在确定订单数量之前将它们加入:

Which Access unfortunately does not support. Instead you can first get the Order dollar amounts and then join them before figuring the order counts:

SELECT CID, COUNT(Orders.OrderID) AS TotalOrders, SUM(OrderAmounts.DollarAmount) AS TotalDollarAmount FROM [Orders] INNER JOIN (SELECT OrderID, Sum(Quantity*SalePrice) AS DollarAmount FROM OrderItems GROUP BY OrderID) AS OrderAmounts ON Orders.OrderID = OrderAmounts.OrderID GROUP BY CID ORDER BY Count(Orders.OrderID) DESC

如果您需要包括订单中没有商品的客户(不常见但可能),请将INNER JOIN更改为LEFT OUTER JOIN.

If you need to include Customers that have orders with no items (unusual but possible), change INNER JOIN to LEFT OUTER JOIN.

更多推荐

SQL查询,用于统计每个客户的订单数和总金额

本文发布于:2023-11-30 06:33:50,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1649033.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:总金额   客户   订单数   SQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!