LeetCode:Database 14.至少有5名直接下属的经理
Posted Xiao Miao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode:Database 14.至少有5名直接下属的经理相关的知识,希望对你有一定的参考价值。
要求:给定 Employee 表,请编写一个SQL查询来查找至少有5名直接下属的经理的姓名。
Employee 表:
+------+----------+-----------+----------+
|Id |Name |Department |ManagerId |
+------+----------+-----------+----------+
|101 |John |A |null |
|102 |Dan |A |101 |
|103 |James |A |101 |
|104 |Amy |A |101 |
|105 |Anne |A |101 |
|106 |Ron |B |101 |
+------+----------+-----------+----------+
Employee 表包含所有员工和他们的经理。每个员工都有一个 Id,并且还有一列是经理的 Id
Result Table:
+-------+
| Name |
+-------+
| John |
+-------+
分析:
1.通过经理id分组,找出大于五个直接下属的经理id
2.通过经理id找到经理姓名
#1.方法1
select a.Name from
Employee a
join
Employee b
on a.Id=b.ManagerId
group by b.ManagerId
having count(b.ManagerId)>=5
#2.方法2
select Name from
Employee
where Id in(select ManagerId from
Employee
group by ManagerId
having count(ManagerId)>=5)
以上是关于LeetCode:Database 14.至少有5名直接下属的经理的主要内容,如果未能解决你的问题,请参考以下文章
leetcode 395. 至少有 K 个重复字符的最长子串----双指针篇5,滑动窗口篇4,新人理解递归必看篇!!