我的家庭作业中的一个问题需要一些帮助,我已经尝试了大约一个小时,但无法运行。
列出购买商品数量超过每位顾客平均商品数量的顾客
表格如下:
Customer(Cnum, CustomerName, Address)
Item(Inum, ItemName, Manufacturer, Year)
Bought(Cnum, Inum, Date, Quantity)
Prefer(Inum, Cnum)
我能想到的最好结果是它需要是每个客户的总数量与数量的总体平均值之比。我尝试过各种形式的查询:
SELECT Cnum
FROM Bought
WHERE
(
SELECT Cnum, SUM(Quantity)
FROM Bought
GROUP BY Cnum;
) >
(
SELECT AVG(Quantity)
FROM Bought
);
但它返回一个错误——(phpMyAdmin 没有告诉我问题出在哪里,只是执行失败并且没有连接页面,这意味着我的查询有错误)
我还尝试通过以下方式返回更高的 SUM:
SELECT SUM(Quantity)
FROM Bought
WHERE SUM(Quantity) > AVG(Quantity);
同样的问题。
我们将不胜感激任何帮助,甚至是解释为什么第二个失败的原因。
最佳答案
您可能想看一下 HAVING SQL 子句。
注意:我故意不给你完整的答案,因为这是家庭作业。
关于mySQL查询问题——作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9389308/