我有下表。我试图逐个部门地找出标记为1的员工数量与员工总数的比率。知道吗?我曾尝试将这两张表连接在一起,结果却将标记为一个的员工人数增加了一倍
这是我的专栏:
flag department employees
-----------------------------
0 892684 10
0 893432 29
0 893561 4
0 896114 2
0 897783 18
1 897783 77
0 897853 7
我正在努力得到结果:
department ratio
-----------------
897783 .81
892684 0
等等。
这是标准SQL,应该在所有DBMS中按原样运行:
select
department,
sum(case when flag = 1 then employees else 0 end) -- flagged employees only
/ cast(sum(employees) as float) -- all employees
as ratio
from tab
group by department;