带WHERE子句和GROUP BY子句的MySQL错误

时间:2018-12-11 18:11:14

标签: mysql join group-by where logical-operators

enter image description here

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

这是我的尝试:

int

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

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

enter image description here

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

where子句我做了什么错误,我该如何解决?

1 个答案:

答案 0 :(得分:0)

聚合不能出现在WHERE子句中,但是您可以通过以下方式使用HAVING

SELECT name, sum(amount)

FROM salesperson

JOIN orders

ON salesperson.ID = orders.salesperson_id

GROUP BY name

Having sum(amount) > 1300;