mySQL查询问题——作业

标签 mysql

我的家庭作业中的一个问题需要一些帮助,我已经尝试了大约一个小时,但无法运行。

列出购买商品数量超过每位顾客平均商品数量的顾客

表格如下:

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/

相关文章:

php - 变量的乘法和除法

mysql - 触发器会影响两个数据库之间的复制过程

mysql - 在 Glassfish v3 中使用 jdbcrealm 授权时的表设计

mysql - 邮政编码和距离

php - 将图像从数据库 MySql 加载到 Bootstrap 轮播中

mysql - 是否可以通过复选框之类的输入来执行 SQL 注入(inject)?

php - 在MySQL数据库中获取所有 "username"和 "id"并使用php进行拆分

php - 使用 PHP 比较产品将产品作为 cookie 保留在页面上

MySQL - 删除级联

php - 市场的 mysql 架构帮助