SELECT b.dept_no,departments.dept_name,b.title,b.c
FROM (
/3.取各分组中的部门号,头衔,以及元组个数,构成各部门的各类头衔统计元组集合/
SELECT a.dept_no,a.title,COUNT() AS c
FROM (
--/*1.首先汇总当前的每个职工的部门,职工号,头衔元组集合
/
SELECT dept_emp.dept_no,dept_emp.emp_no,titles.title
FROM dept_emp INNER JOIN titles
ON dept_emp.emp_no=titles.emp_no AND dept_emp.to_date='9999-01-01'
) AS a
/2.然后按照部门和头衔对1中的元组集合进行分组/
GROUP BY a.dept_no,a.title
) AS b INNER JOIN departments
/4.将3中的元组集合与部门表按照部门号进行内连接,其实就是给3中每个元组添加对应的部门名称/
ON b.dept_no=departments.dept_no

先分组统计,再添加对应的部门名称;