首页 > 解决方案 > 当我尝试使用大于聚合时出现错误代码 1064

问题描述

    (SELECT discount_percent
    FROM products
    WHERE discount_percent > AVG(discount_percent)

我不确定我做错了什么

标签: mysqlsql

解决方案


WHERE discount_percent >
    (SELECT discount_percent
    FROM products
    WHERE discount_percent > AVG(discount_percent)

应该:

WHERE discount_percent > (SELECT AVG(discount_percent) FROM products)

您在子查询后缺少右括号。但更大的问题是您不能在WHERE子句中使用聚合函数,因为聚合是选择行之后完成的。此外,您需要使查询只返回一个结果,以便与>.


推荐阅读