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

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

https://www.nowcoder.com/practice/4bcb6a7d3e39423291d2f7bdbbff87f8

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

WHERE t.to_date = '9999-01-01' 
GROUP BY de.dept_no, d.dept_name, t.title  
ORDER BY de.dept_no, t.title;

GROUP BY里为什么要写d.dept_name?因为 MySQL 的ONLY_FULL_GROUP_BY模式,要求SELECT里的非聚合列,必须全部出现在GROUP BY里。

1

汇总各个部门

必须按「部门」维度分组

2

当前员工

只保留在职员工(

to_date = '9999-01-01'

3

title 类型的分配数目

再按「职位」维度分组,统计每个职位的人数

4

输出字段

dept_no

dept_name

title

count(*)

5

排序规则

先按

dept_no

升序,再按

title

升序

全部评论

相关推荐

牛马人的牛马人生:太舒服了接接接
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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