SQL26详细题解

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

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

题目要求

汇总各个部门当前员工的title类型的分配数目,即结果给出部门编号dept_no、dept_name、其部门下所有的员工的title以及该类型title对应的数目count,结果按照dept_no升序排序
图片说明
解题思路:

  • 第一步:联结dept_emp,titles表,分组(dept_no,title 作为联合分组条件),count计数

    SELECT de.dept_no,t.title,COUNT(*) AS count
      FROM dept_emp de
      INNER JOIN titles t
      ON de.emp_no = t.emp_no
      GROUP BY de.dept_no,t.title;
  • 第二步:department和第一步的表相连接,主表为department

    SELECT de.dept_no,d.dept_name,t.title,COUNT(*) AS count
      FROM departments d
      LEFT JOIN dept_emp de
      ON d.dept_no = de.dept_no
      INNER JOIN titles t
      ON de.emp_no = t.emp_no
      GROUP BY de.dept_no,t.title
      ORDER BY de.dept_no ASC;

    如有错误欢迎评论区指出,感谢~

全部评论

相关推荐

11-07 16:07
深圳大学 运营
前端飞升:学长,阿里不是卡双非吗,我深也能去吗
点赞 评论 收藏
分享
包行:平时怎么刷算法题的哇,字节的手撕听说都很难
字节跳动工作体验
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务