oracle sql中的group by表达式的内连接[重复]

2024-07-03

我是 sql 新手,感谢任何帮助。

我有两张桌子,employees and jobs. employees包含一个变量job_id(多个员工可以具有相同的 job_ID)。jobs包含变量job_id and job_title(一个job_ID对应一个job_title,如果你有兴趣,这是oracle中的hr schema)。

我希望查询返回:job_title、job_ID 以及具有相同 job_Id 的人数。

我尝试了以下代码:

select j.job_title, e.job_ID, count(e.job_ID)
from employees e, jobs j
where e.job_id=j.job_id
group by e.job_Id

错误消息是:

ORA-00979: 不是 GROUP BY 表达式 00979. 00000 - “不是 GROUP BY 表达式” *原因:
*行动:
行错误:83 列:8

你能帮我解决这个问题吗?


该错误消息有点误导。当你select一堆字段和一个聚合,你必须group by每个领域的你select并且只有您的字段select。所以你的查询必须是:

select j.job_title, e.job_ID, count(e.job_ID)
from employees e, jobs j
where e.job_id=j.job_id
group by e.job_Id, j.job_title
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

oracle sql中的group by表达式的内连接[重复] 的相关文章

随机推荐