mysql - 如何将 UNION 与多查询一起使用
问题描述
我正在尝试根据他们的头衔来查找每个部门的员工人数,例如财务部门
Senior Staff = 12137
Staff = 5207
Manager = 2
我需要在 ONE 查询中对所有部门执行相同的操作,因为我必须在 Tableau 中将其可视化。这是我的 SQL 脚本。
set @dept_id='d002';
call new_procedure_total_emp_dept(@dept_id ,@result);
(select dn,staff_title, count(staff_title), (count(staff_title)/@result)*100 from
(
SELECT d.dept_name as dn, ti.title as staff_title FROM dept_emp de
join titles ti using (emp_no)
join departments d on d.dept_no = de.dept_no
where de.dept_no = 'd002'
group by de.emp_no
) as staff_no
group by staff_title
)
union
(
select dn,staff_title, count(staff_title), (count(staff_title)/17786)*100 from
(
SELECT d.dept_name as dn, ti.title as staff_title FROM dept_emp de
join titles ti using (emp_no)
join departments d on d.dept_no = de.dept_no
where de.dept_no = 'd003'
group by de.emp_no
) as staff_no
group by staff_title
)
;
解决方案
推荐阅读
- c++ - VTK 8.1.1 & Qt QML:双深度剥离不起作用
- c# - 在 Word 中嵌入 Excel 时不显示 C# VSTO Excel 任务窗格
- r - 在有很多 NA 的同时关联两个数据帧
- sql - ODS HTML 电子邮件输出 - 我的单元格都被压缩了,如何扩展为全长的列名?
- python - 整理一系列尝试...除了语句?
- php - 我安装了 bcmath,但我的 laravel 项目找不到它
- validation - 更新 SNI 配置是否会影响 SSL 证书和验证
- c# - Moq VerifyNoOtherCalls() 方法的 FakeItEasy 等效项是什么
- javascript - chrome:使用 sourcemaps 调试 contentscript
- r - 从 Mac 的 Matlab 调用 R