项目员工II

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目员工II相关的知识,希望对你有一定的参考价值。


题目描述:

Table: Project

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| project_id  | int     |
| employee_id | int     |
+-------------+---------+
主键为 (project_id, employee_id)。
employee_id 是员工表 Employee 表的外键。
Table: Employee

+------------------+---------+
| Column Name      | Type    |
+------------------+---------+
| employee_id      | int     |
| name             | varchar |
| experience_years | int     |
+------------------+---------+
主键是 employee_id。
 

编写一个SQL查询,报告所有雇员最多的项目。

查询结果格式如下所示:

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                |
+-------------+--------+------------------+

Result table:
+-------------+
| project_id  |
+-------------+
| 1           |
+-------------+
第一个项目有3名员工,第二个项目有2名员工。

解题思路:

先求出所有项目最多的人数,排序,取第一个,然后等于最大的数

select project_id
from project
group by project_id
having count(*) = (
select count(*) as sum
from project
group by project_id
order by sum desc
limit 0,1
)

 

以上是关于项目员工II的主要内容,如果未能解决你的问题,请参考以下文章

Mysql练习题13道(21-33题)

项目员工II

LeetCode(数据库)- 项目员工 II

从表中删除雇员名字相同的员工记录(需要最少保留一条记录)

oracle scott用户几张表的关联查询,谁能帮我把这些解决一下,悬赏100,谢谢各位了

工伤伞-雇员意外《保护伞》