我试着回答:
找出job_history表中出现频率最高的两个职务ID。使用查询输出这两个职务ID。然后使用该查询的结果在Employees表中查找,以输出job_id以及在job_history表中出现频率最高的这两个职务ID的平均工资。
我的解决方案(不显示最常见的):
SELECT employees.job_id, AVG(employees.salary)
FROM HR.employees,
HR.job_history
WHERE employees.job_id = job_history.job_id
GROUP BY employees.job_id
HAVING COUNT (job_history.job_id) >= all(
SELECT COUNT(job_id)
FROM hr.job_history
GROUP BY job_id);
我错过了什么?
1条答案
按热度按时间1u4esq0p1#
找出job_history表中最常见的两个作业id。使用查询输出这两个作业id。
你不需要使用
employees
表来回答这部分问题。你只需要使用job_history
表并找到具有最高2个频率的行:FETCH
语法可从Oracle 12获得。*然后使用该查询的结果在
Employees
表中查找,以输出job_id
,以及在job_history
表中最常找到的两个job_id
的平均工资。然后,您需要使用上一个查询的结果过滤
Employees
表,并查找这些job_id
的平均工资。既然这看起来像一个家庭作业问题,那么我就把这部分留给你。