获取在女性经理手下工作的员工总数-sqlite
我有一个条件,在那里我应该让所有的员工都在女性经理之下。所以我写了这个查询获取在女性经理手下工作的员工总数-sqlite,sqlite,rdbms,Sqlite,Rdbms,我有一个条件,在那里我应该让所有的员工都在女性经理之下。所以我写了这个查询 select count(E.emp_id) as EmployeeCount, M.name, M.gender from employee E Join employee M on M.emp_id = E.manager_id where M.gender ='Female' group by M.name, M.gender 以上查询返回 4 Camila Wolstenholme Female
select count(E.emp_id) as EmployeeCount, M.name, M.gender
from employee E Join employee M on M.emp_id = E.manager_id
where M.gender ='Female' group by M.name, M.gender
以上查询返回
4 Camila Wolstenholme Female
7 Clemmy Lamberts Female
9 Janot Saxon Female
3 Tina Fain Female
但我想要的是在每个女性经理手下工作的员工以及在所有女性经理手下工作的员工总数,即4+7+9+3=23。我想要23与在每个女性经理手下工作的员工一起显示。我如何才能做到这一点我相信以下几点可以满足您的要求:-
SELECT
(SELECT count() FROM employee ee JOIN employee mm ON mm.emp_id = ee.manager_id WHERE m.gender = 'Female' ) AS Total ,
count(E.emp_id) as EmployeeCount, M.name, M.gender,
group_concat(e.name)
FROM employee AS E
JOIN employee M on M.emp_id = E.manager_id
WHERE M.gender ='Female' group by M.name, M.gender
示例/演示
结果
- NULL用于在没有指示管理者的区别的情况下指示管理者
SELECT
/* (SELECT count() FROM employee ee JOIN employee mm ON mm.emp_id = ee.manager_id WHERE m.gender = 'Female' ) null AS Total ,*/
count(E.emp_id) as EmployeeCount, M.name, M.gender,
group_concat(e.name) AS Manages
FROM employee AS E
JOIN employee M on M.emp_id = E.manager_id
WHERE M.gender ='Female' group by M.name, M.gender
UNION SELECT (SELECT count() FROM employee ee JOIN employee mm ON mm.emp_id = ee.manager_id WHERE mm.gender = 'Female'),'','',''
;
结果
因此,请提供一个定制的玩具数据库,其形状为几行
create table…
和insert…
。也为提供的玩具数据库提供所需的结果。这是好的。。。然而,显示每列的总计可能会令人困惑,是否可以将其显示为一行?@AjayKulkarni答案已被修改。
SELECT
/* (SELECT count() FROM employee ee JOIN employee mm ON mm.emp_id = ee.manager_id WHERE m.gender = 'Female' ) null AS Total ,*/
count(E.emp_id) as EmployeeCount, M.name, M.gender,
group_concat(e.name) AS Manages
FROM employee AS E
JOIN employee M on M.emp_id = E.manager_id
WHERE M.gender ='Female' group by M.name, M.gender
UNION SELECT (SELECT count() FROM employee ee JOIN employee mm ON mm.emp_id = ee.manager_id WHERE mm.gender = 'Female'),'','',''
;