Sql 我在执行下面的数据库查询时遇到问题
我在执行下面的数据库查询时遇到问题 我使用的是Oracle 11g企业版 问题1:Sql 我在执行下面的数据库查询时遇到问题,sql,database,oracle11g,Sql,Database,Oracle11g,我在执行下面的数据库查询时遇到问题 我使用的是Oracle 11g企业版 问题1: SELECT d.department_id, max(salary), min(salary), avg(salary), count(*) no_of_employees FROM departments d, employees e WHERE e.department_id = d.department_id GROUP BY d.department_id 结果:输出成功 问题2: SELECT d.
SELECT d.department_id, max(salary), min(salary), avg(salary), count(*) no_of_employees
FROM departments d, employees e
WHERE e.department_id = d.department_id
GROUP BY d.department_id
结果:输出成功
问题2:
SELECT d.department_id, d.department_name, max(salary), min(salary), avg(salary), count(*) no_of_employees
FROM departments d, employees e
WHERE e.department_id = d.department_id
GROUP BY d.department_id
结果:
ORA-00979:不是表达式的组
有人能帮我解决这个问题吗?
请告诉我这个表达式有什么问题。您还必须按部门名称分组您还必须按部门名称分组您需要按没有聚合功能的所有列(最大值、计数等)分组。因此:
select d.department_id
, d.department_name
, max(salary), min(salary), avg(salary) , count(*) no_of_employees
from departments d, employees e
where e.department_id = d.department_id
group by d.department_id, d.department_name;
<>但是你也应该考虑做一个ANSI连接代替:
select department_id
, department_name
, max(salary), min(salary), avg(salary) , count(*) no_of_employees
from departments
join employees USING (department_id)
group by department_id, department_name;
您需要根据没有聚合函数的所有列(MAX、COUNT等)进行分组。因此:
select d.department_id
, d.department_name
, max(salary), min(salary), avg(salary) , count(*) no_of_employees
from departments d, employees e
where e.department_id = d.department_id
group by d.department_id, d.department_name;
<>但是你也应该考虑做一个ANSI连接代替:
select department_id
, department_name
, max(salary), min(salary), avg(salary) , count(*) no_of_employees
from departments
join employees USING (department_id)
group by department_id, department_name;
谢谢你的帮助。。下面的查询适用于我选择d.department\u id、d.department\u name、max(salary)、min(salary)、avg(salary)、count(*)no\u来自d部门的员工、e员工,其中e.department\u id=d.department\u id按d.department\u id分组、部门名称感谢您的帮助。。下面的查询适用于我选择d.department\u id、d.department\u name、max(salary)、min(salary)、avg(salary)、count(*)no\u来自d部门、e员工的员工,其中e.department\u id=d.department\u id按d.department\u id、部门名称分组