我在尝试打印department_id,department_name和每个部门的工资总额时遇到了一些问题,我无法弄清楚原因.我收到错误:00979 - "不是GROUP BY表达式"

SELECT d.department_id, d.department_name, SUM(e.salary)
FROM departments d, employees e
WHERE d.department_id = e.department_id
GROUP BY d.department_id;
Run Code Online (Sandbox Code Playgroud)
只需添加name到group by表达式.在此过程中,还要修复查询以使用显式join语法:
SELECT d.department_id, d.department_name, SUM(e.salary)
FROM departments d JOIN
employees e
ON d.department_id = e.department_id
GROUP BY d.department_id, d.department_name;
Run Code Online (Sandbox Code Playgroud)
虽然您没有问,但我会指出您的查询版本确实有意义且符合ANSI标准(尽管大多数数据库不支持此功能).您通过主键进行聚合,因此允许引入其他列 - 尽管Oracle不支持此功能.