【问题标题】:i got error ORA-00979: not a GROUP BY expression我收到错误 ORA-00979: not a GROUP BY 表达式
【发布时间】:2021-10-26 22:27:23
【问题描述】:

我收到错误 ORA-00979 并执行以下查询:

SELECT d.department_name "department name",
       e.job_id "job title",
       SUM(e.salary) "monthly cost", 
       GROUPING(d.department_id) "Department ID Used",
       GROUPING(e.job_id) "Job ID Used"
FROM   employees e
       JOIN departments d
       ON e.department_id=d.department_id
GROUP BY cube(d.department_name, e.job_id)
ORDER BY d.department_name, e.job_id

查询有问题吗?

【问题讨论】:

    标签: sql oracle ora-00979


    【解决方案1】:

    您正在使用GROUPING(d.department_id),但department_id 不在GROUP BY 子句中。

    您可以将其添加到GROUP BY 子句中:

    SELECT d.department_name "department name",
           e.job_id "job title",
           SUM(e.salary) "monthly cost",
           GROUPING(d.department_id) "Department ID Used",
           GROUPING(e.job_id) "Job ID Used"
    FROM   employees e
           JOIN departments d
           ON e.department_id=d.department_id
    GROUP BY cube(d.department_name, d.department_id, e.job_id)
    ORDER BY d.department_name, e.job_id
    

    db小提琴here

    【讨论】:

    • 感谢您的帮助,现在我可以运行查询了
    猜你喜欢
    • 2021-09-12
    • 2022-01-22
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    相关资源
    最近更新 更多