【发布时间】:2016-03-11 11:09:24
【问题描述】:
我正在编写一个 Oracle sql 脚本,该脚本显示一个部门位置 (location_id = 1700) 与 所有其他 部门位置 (location_id <> 1700) 的平均值 - 因为它比较两个值,我希望只返回两行。我能够像这样计算出一个查询:
select d.LOCATION_ID, round(avg(e.salary),2) AS "AVG SALARY", count(d.LOCATION_ID) from departments d
join employees e on e.DEPARTMENT_ID = d.DEPARTMENT_ID
where d.location_id = 1700
group by grouping sets(d.LOCATION_ID);
我的第二个查询返回四行而不是单行(就像我想的那样):
select round(avg(e.salary),2) AS "AVG SALARY", count(d.LOCATION_ID) from departments d
join employees e on e.DEPARTMENT_ID = d.DEPARTMENT_ID
where d.location_id <> 1700
group by grouping sets(d.LOCATION_ID);
我希望解决两个查询,然后将它们合并在一起——显然我需要克服第二个查询的障碍,然后再将它们合并在一起。
有什么想法吗?
【问题讨论】:
标签: sql oracle oracle11g group-by