我需要一些帮助来解决作业中的一个问题,我已经试了一个小时了,但还是没能成功。
列出购买超过每个客户平均商品数量的商品的客户
表格如下:

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没有告诉我问题出在哪里,只是执行失败,没有连接页面,这意味着我的查询出错)
我还试图返回较高的金额:
SELECT SUM(Quantity)
FROM Bought
WHERE SUM(Quantity) > AVG(Quantity);

同样的问题。
任何帮助都是值得感谢的,甚至可以解释第二个失败的原因。

最佳答案

您可能想看看sql的HAVING子句。
注:我故意不给你完整的答案,因为这是家庭作业。

关于mysql - mySQL查询问题 - 作业,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9389308/

10-09 02:47