-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path75.sql
36 lines (32 loc) · 1.02 KB
/
75.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
-- Question 75
-- The Employee table holds all employees including their managers. Every employee has an Id, and there is also a column for the manager Id.
-- +------+----------+-----------+----------+
-- |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 |
-- +------+----------+-----------+----------+
-- Given the Employee table, write a SQL query that finds out managers with at least 5 direct report. For the above table, your SQL query should return:
-- +-------+
-- | Name |
-- +-------+
-- | John |
-- +-------+
-- Note:
-- No one would report to himself.
-- Solution
with t1 as
(
select managerid, count(name) as total
from employee
group by managerid
)
select e.name
from t1
join employee e
on t1.managerid = e.id
where t1.total>=5