题解 | #统计各个部门的工资记录数#
统计各个部门的工资记录数
https://www.nowcoder.com/practice/6a62b6c0a7324350a6d9959fa7c21db3
select dept_no,dept_name,count(salary) sum from salaries s join (select emp_no,de.dept_no,dept_name from departments dp join dept_emp de on dp.dept_no=de.dept_no) a on s.emp_no=a.emp_no group by dept_no,dept_name order by dept_no
查询结果:部门编号,部门名称,工资记录数
查询来源:salaries,departments,dept_emp
查询条件:每个部门编号对应的部门名称的工资记录数
解题思路:由于部门编号对应的部门名称分别在departments,dept_emp两表中,所以先连接两表并命名为表a,链接健为dept_no,随后将表a与salaries表进行连接即可得到每个员工对应的部门编号及部门名称。然后对部门编号,部门名称进行聚合,即可得到每个部门编号及其对应的部门名称的工资记录数(count(salary)),最后按照部门编号进行升序排序,将工资记录数命名为sum即可