我的数据库中有三个带有架构的表:
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之间)花费的平均金额,即总消费金额/总客户数, 要做到这一点,我需要计算在这些日期之间购买的所有产品的价格总和(使用订单中itemID和商品价格中的信息),我使用此代码执行此操作:
SELECT SUM(price) FROM items WHERE itemID IN( SELECT itemID FROM orders WHERE date BETWEEN '2013-03-01' AND '2013-03-31' )
但我无法弄清楚如何将这个数字除以客户总数(可以通过计算客户表上的客户数量来找到 - 唯一的关键是customerID)
有人可以帮忙吗? 谢谢!
答案 0 :(得分:0)
您可以使用子查询:
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