MySQL WHERE 子句和 GROUP BY 子句错误

MySQL error with WHERE clause and GROUP BY clause

enter image description here

我正在尝试编写一个查询,以检索上表中订单金额超过 1300 美元的所有销售人员的姓名。 (每个业务员只有一个ID。)

这是我的尝试:

SELECT name, sum(amount)

FROM salesperson

JOIN orders

ON salesperson.ID = orders.salesperson_id

WHERE sum(amount) > 1300 

GROUP BY name; 

但是却显示错误:ERROR 1111 (HY000): 群组功能使用无效。

当我删除 where 子句时,它工作正常并且 returns 以下内容:

enter image description here

这与我想要的非常相似,只是没有针对小于 1300 的 sum(amount) 的过滤器。

where子句哪里做错了,我该如何解决?

Aggregate 不能出现在 WHERE 子句中,但您可以按以下方式使用 HAVING

SELECT name, sum(amount)

FROM salesperson

JOIN orders

ON salesperson.ID = orders.salesperson_id

GROUP BY name

Having sum(amount) > 1300;