Sql 此Oracle SELECT命令有什么问题?

Sql 此Oracle SELECT命令有什么问题?,sql,oracle11g,Sql,Oracle11g,运行此查询时: (SELECT MAX( SELECT COUNT(e4.employee_id) FROM employees e4, departments d2 WHERE d2.manager_id = e3.employee_id AND e4.department_id = d2.department_id ) FROM employees e3 ) 我得到一个ORA-00936:缺少表情。我不知道哪里出错

运行此查询时:

(SELECT MAX(
  SELECT 
    COUNT(e4.employee_id) 
  FROM 
    employees e4, 
    departments d2 
  WHERE 
    d2.manager_id = e3.employee_id AND
    e4.department_id = d2.department_id
  ) 
FROM 
  employees e3
)

我得到一个ORA-00936:缺少表情。我不知道哪里出错。

我的朋友告诉我如何更改此查询。我的查询试图返回一个经理拥有的最大员工数

我是SQL新手,正在编写长查询: 正确的答案是:

SELECT
    MAX(counter)
FROM
(SELECT
    COUNT(*) AS counter
FROM
    employees e
    GROUP BY
    e.manager_id)
更简单的解决方案:

SELECT
    MAX(COUNT(*))
FROM
    employees
GROUP BY
    manager_id

Ummm…..子查询返回一个数字,因此外部最大查询多余。内部SELECT有一个计数,但没有GROUP BY…@RobbieDee他们不需要GROUP BY,只有一个字段,它有一个函数。我添加了外部最大选择。。。查询,因为我需要检查内部查询中的每个e3员工,该查询统计满足WHERE块中条件的员工。内部查询可以看到外部e3符号吗?你能解释一下这个查询想要实现什么吗?看起来这里的内容相当于从SelectDepartment\u id中选择Maxdept\u大小,按部门id从employees group中计算*为部门大小。但是,您的查询的编写方式似乎意味着其他内容。此解决方案比需要的更复杂。看看我的答案。