【发布时间】:2017-06-26 14:37:48
【问题描述】:
一共有两张表,一张是“Department”,里面有department_name、department_block_number和department_id(主键),另一个是“Student”,里面有student_name、student_id和department_id(外键)。因此,基于这种情况,我们必须显示学生人数最多的部门的名称。
我已经尝试了一些东西,你可以在下面找到我的代码,但它没有按预期工作,所以你能帮我纠正一下吗?
select u
from
(select count(s.student_id) cnt,d.department_name u
from department d
join student s using(department_id)
group by d.department_name
where cnt==(select max(cntt) from (select
count(ss.student_id) cntt,dd.department_name
from department dd
join student ss using(department_id)
group by dd.department_name)
)
);
注意:这个问题属于子查询部分。
【问题讨论】: