【发布时间】:2014-07-14 17:53:25
【问题描述】:
我有 2 个名为 Orders 和 Salesperson 的表,如下所示:
并且我想从上面的表格中检索拥有超过 1 个订单的所有销售人员的姓名。
然后触发以下查询显示错误:
SELECT Name
FROM Orders, Salesperson
WHERE Orders.salesperson_id = Salesperson.ID
GROUP BY salesperson_id
HAVING COUNT( salesperson_id ) >1
错误是:
选择列表中的列“名称”无效,因为它是 不包含在聚合函数中或 GROUP BY 子句。
从错误并在 google 上搜索,我可以理解错误是因为 Name 列必须是 group by 语句或聚合函数的一部分。
我还试图理解为什么所选列必须在 group by 子句或聚合函数的艺术中?但是没看清楚。
那么,如何解决这个错误呢?
【问题讨论】:
标签: mysql sql group-by aggregate-functions