这题主要考察的还是表的连接

汇总各个部门当前员工的title类型的分配数目

http://www.nowcoder.com/questionTerminal/4bcb6a7d3e39423291d2f7bdbbff87f8

-- 先连接两张表拿到dept_no,dept_name,以及后面需要和另外一个表连接的emp_no
    (select d.dept_no,d.dept_name,de.emp_no
    from departments as d left join dept_emp de
    on d.dept_no = de.dept_no 
    where de.to_date = '9999-01-01')as dde

最最最重要的一个点就是,group by 得是dept_no和title,因为title一样的就不能算是员工的一个类型了。

-- dept_no    dept_name    title    count 结果按照dept_no升序排序
select dde.dept_no,dde.dept_name,t.title,count(t.title ) as `count`
from titles t left join 
    (select d.dept_no,d.dept_name,de.emp_no
    from departments as d left join dept_emp de
    on d.dept_no = de.dept_no 
    where de.to_date = '9999-01-01')as dde
on t.emp_no = dde.emp_no
where t.to_date = '9999-01-01'
group by dde.dept_no,t.title
order by dde.dept_no;
全部评论
聚合之后,为什么还可以取出'dde.dept_name'字段啊
1 回复 分享
发布于 2021-03-09 12:52

相关推荐

CrazyBucket:我今天下午也做梦在招聘会上面试一家小厂,给自己气笑了
点赞 评论 收藏
分享
11-18 15:57
门头沟学院 Java
最终归宿是测开:这个重邮的大佬在重邮很有名的,他就喜欢打92的脸,越有人质疑他,他越觉得爽😂
点赞 评论 收藏
分享
点赞 评论 收藏
分享
12 收藏 评论
分享
牛客网
牛客企业服务