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中计算*为部门大小。但是,您的查询的编写方式似乎意味着其他内容。此解决方案比需要的更复杂。看看我的答案。