LetCode 브러시 - 데이터베이스(MySQL) - 570.최소 5명의 직접 부하 매니저가 있다

968 단어 MySQL
570. 최소 5명의 직접 부하 매니저가 있다
제목 설명
Employee 표에는 모든 직원과 관리자가 포함되어 있습니다.직원마다 하나의 Id가 있고, 또 하나의 열은 매니저의 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
Employee 표를 지정하려면 최소 5명의 직속 관리자를 찾기 위해 SQL 조회를 작성하십시오.위 표의 SQL 질의는 다음과 같이 반환되어야 합니다.
Name
John
주의: 아무도 자신의 부하가 아니다.
출처: 리코더 링크:https://leetcode-cn.com/problems/managers-with-at-least-5-direct-reports저작권은 인터넷 소유에 귀속된다.상업 전재는 관공서에 연락하여 권한을 수여하고 비상업 전재는 출처를 밝혀 주십시오.
2. 사고방식 분석
먼저 ManagerId를 그룹화하여 그룹 내 항목이 5보다 큰 ManagerId를 찾습니다.그런 다음 이 질의 결과를 임시 테이블로 사용하여 원래 테이블의 질의와 연결하면Name
3. 코드 실현
SELECT
	a.Name
FROM
	Employee a
JOIN
	(
		SELECT
			ManagerId
		FROM
			Employee
		GROUP BY ManagerId
		HAVING COUNT(*) >= 5
	) b
ON
	a.Id = b.ManagerId;

좋은 웹페이지 즐겨찾기