【问题标题】:MYSQL ERROR 1111 (HY000): Invalid use of group functionMYSQL ERROR 1111 (HY000): 组函数使用无效
【发布时间】:2018-05-14 15:13:51
【问题描述】:

有两个表

  1. project(project_id, project_name, project_city);
  2. assignment(employee_id,employee_name,duration);

现在我必须找出在哪个项目中分配了最大数量的员工。 我写了一个sql查询

SELECT MAX(COUNT(employee_id)) from assignment group by project_id;

但此查询给出以下错误:

ERROR 1111 (HY000):组函数使用无效。我正在使用 mySql。

【问题讨论】:

  • 显示示例输入和输出数据。
  • 根据您的信息,您的assignment 表似乎没有project_id 字段.....
  • 对不起,这将是 project_id 而不是员工姓名
  • 你不能做 MAX(COUNT())。

标签: mysql sql mysql-error-1111


【解决方案1】:

得到你想要的最简单的方法是order bylimit

SELECT COUNT(employee_id) as cnt
FROM assignment 
GROUP BY project_id
ORDER BY cnt DESC
LIMIT 1;

【讨论】:

  • 将结果集限制为单个结果时是否需要ORDER BY...?
  • @Anovative 。 . .如果你想获得最大的价值,这是必要的。否则,您将从聚合结果中获得任意值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-21
  • 2016-06-19
相关资源
最近更新 更多