Cic*_*ici 14 sql oracle group-by inner-join
我是sql的新手,感谢任何帮助.
我有两张桌子,employees和jobs.employees包含变量job_id(多个员工可以拥有相同的job_ID).jobs包含变量job_id和job_title(一个job_ID对应一个job_title,如果你感兴趣,这是oracle中的hr模式).
我想要返回查询: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
Run Code Online (Sandbox Code Playgroud)
错误消息是:
ORA-00979:不是GROUP BY表达式00979. 00000 - "不是GROUP BY表达式"*原因:
*操作:行
错误:83列:8
你能帮我解决这个问题吗?
Dan*_*cuk 28
错误消息有点误导.当你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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33201 次 |
| 最近记录: |