这题应该使用连接来展示出每个学生所属部门,因为部门可能不存在学生所以需要以department表做主表,进行连接,这样即使部门不存在学生也将null值补充,再以dept_name进行分组统计将可以进行去重并且null值将会被补0,再进行排序可得解,即
select dept_name,count(student_id) student_number
from student s right join department d
on s.dept_id = d.dept_id
group by dept_name order by student_number desc,dept_name;