# 查询每个员工的绩效
# 项目ID,绩效排名,员工ID
with
t1 as(
select
employee_id,
employee_name,
performance_score as first_half_2024_score,
department,
project_name as project_group
from
performance
left join projects using(project_id)
left join employees using(employee_id)
where
start_date between '2024-01-01' and '2024-07-01'
)
,
t2 as(
select
employee_id,
employee_name,
first_half_2024_score,
rank()over(partition by project_group order by first_half_2024_score desc,employee_id) as project_group_rank,
department,
project_group
from
t1
order by
project_group,
project_group_rank,
employee_id
)
select * from t2