Leetcode Upload 2
Leetcode Upload 2
Share
SQL Schema
Table: Project
+-------------+---------+
| Column Name | Type |
+-------------+---------+
| project_id | int |
| employee_id | int |
+-------------+---------+
(project_id, employee_id) is the primary key (combination of columns with
unique values) of this table.
employee_id is a foreign key (reference column) to Employee table.
Each row of this table indicates that the employee with employee_id is working
on the project with project_id.
Table: Employee
+------------------+---------+
| Column Name | Type |
+------------------+---------+
| employee_id | int |
| name | varchar |
| experience_years | int |
+------------------+---------+
employee_id is the primary key (column with unique values) of this table.
Each row of this table contains information about one employee.
Write a solution to report all the projects that have the most employees.
Input:
Project table:
+-------------+-------------+
| project_id | employee_id |
+-------------+-------------+
|1 |1 |
|1 |2 |
|1 |3 |
|2 |1 |
|2 |4 |
+-------------+-------------+
Employee table:
+-------------+--------+------------------+
| employee_id | name | experience_years |
+-------------+--------+------------------+
|1 | Khaled | 3 |
|2 | Ali | 2 |
|3 | John | 1 |
|4 | Doe | 2 |
+-------------+--------+------------------+
Output:
+-------------+
| project_id |
+-------------+
|1 |
+-------------+
Explanation: The first project has 3 employees while the second one has 2.
*/
WITH
EmpCnts
AS
(
SELECT
project_id ,
COUNT(*) AS EmpCnt
FROM
Project P
INNER JOIN
Employee1077 E
ON
E.employee_id = P.employee_id
GROUP BY
P.project_id
)
SELECT
E.project_id
FROM
EmpCnts E
WHERE
EmpCnt = (SELECT MAX(EmpCnt) FROM EmpCnts)