计算特定月份 mysql 的平均支出(金额 spent/person)

Calculating average spending (amount spent/person) in a particular month mysql

我的数据库中有三个 table 模式:

items (itemID: integer, description: string, price: integer)
orders (orderID: integer, itemID: integer, aID: integer, customerID: integer, date: date)
customers (customerID: integer, fName: string, lName: string)

我需要计算给定月份(2013-03-01 和 2013-03-31 之间)所有客户花费的平均金额,即总金额 spent/total 没有客户, 为此,我需要计算在这些日期之间购买的所有产品的价格总和(使用来自订单中的 itemID 和商品中的价格的信息),我使用以下代码完成了此操作:

SELECT SUM(price) FROM items WHERE itemID IN( SELECT itemID FROM orders WHERE date BETWEEN '2013-03-01' AND '2013-03-31' )

但我无法弄清楚如何将此数字除以客户总数(可以通过计算客户 table 上的客户数量找到 - 唯一键是客户 ID)

有人能帮忙吗? 谢谢!

您可以使用子查询:

SELECT SUM(i.price)/(SELECT COUNT(*) FROM customers)
FROM items i
LEFT JOIN orders o ON i.itemID = o.itemID
                  AND o.date BETWEEN '2013-03-01' AND '2013-03-31'
WHERE o.itemID IS NOT NULL