您可以使用单独的查询,如果你想:
select
(select count(*) from employees) Total_Employees,
(select count(*) from employees where country = 'USA') Total_Employees_In_US,
(select sum(bonus) from employees where age < 25) Bonus_OF_Employees_Under_25
from dual
或者在这个例子中,只是一个比较简单的查询:
select
count(*) Total_Employees,
sum(case when country = 'USA' then 1 end) Total_Employees_In_US,
sum(case when age < 25 then bonus end) Bonus_OF_Employees_Under_25
from employees
为了生产组:
select
EmployeeCategory,
count(*) Total_Employees,
sum(case when country = 'USA' then 1 end) Total_Employees_In_US,
sum(case when age < 25 then bonus end) Bonus_OF_Employees_Under_25
from employees
group by EmployeeCategory
我有一个名为EmployeeCategory的额外列,所有其他列需要在这个上是'Group By'。是否可以调整解决方案来解决这个问题? – Xion 2014-10-21 21:26:59
@Xion是的,你可以做到这一点 - 这是一个简单的小组,但它只能用第二个版本的查询。请参阅附录以回答。 – Bohemian 2014-10-21 22:00:01