跳到主要内容

1075.项目员工 I

序号题目难度
1075题目链接简单

题目大意​

请写一个 SQL 语句,查询每一个项目中员工的 平均 工作年限,精确到小数点后两位。

以 任意 顺序返回结果表。

项目表 Project:

Column NameType
project_idint
employee_idint

主键为 (project_id, employee_id)。 employee_id 是员工表 Employee 表的外键。 这张表的每一行表示 employee_id 的员工正在 project_id 的项目上工作。

员工表 Employee:

Column NameType
employee_idint
namevarchar
experience_yearsint

主键是 employee_id。数据保证 experience_years 非空。 这张表的每一行包含一个员工的信息。

示例​

输入​

Project 表:

project_idemployee_id
11
12
13
21
24

Employee 表:

employee_idnameexperience_years
1Khaled3
2Ali2
3John1
4Doe2

输出​

project_idaverage_years
12.00
22.50

解释​

第一个项目中,员工的平均工作年限是 (3 + 2 + 1) / 3 = 2.00;第二个项目中,员工的平均工作年限是 (3 + 2) / 2 = 2.50

参考答案​

select
project_id
,round(avg(e.experience_years),2) average_years
from Project p
left join Employee e
on p.employee_id = e.employee_id
group by 1
;