题解 | #汇总各个部门当前员工的title类型的分配数目#
汇总各个部门当前员工的title类型的分配数目
http://www.nowcoder.com/practice/4bcb6a7d3e39423291d2f7bdbbff87f8
SELECT demp.dept_no,
demp.dept_name,
title,
COUNT(title) AS count
FROM titles AS t
RIGHT JOIN ( /*先构造一个dept_name和emp的表*/
SELECT de.dept_no,
de.dept_name,
dmp.emp_no
FROM departments AS de
RIGHT JOIN dept_emp AS dmp
ON dmp.dept_no=de.dept_no
) AS demp
ON t.emp_no=demp.emp_no
GROUP BY dept_no,title
ORDER BY dept_no,title,count ASC
题目里有个隐藏陷阱:排名的时候会要求按照title名的首字母进行排序(不信的话可以去看答案对比) 所以最后ORDER BY里会需要加一个title