with first_half_year_projects as (
select
*
from
projects
where
start_date between '2024-01-01' and '2024-07-01'
)
select
p.employee_id,
e.employee_name,
p.performance_score as first_half_2024_score,
row_number() over(partition by p.project_id order by p.performance_score desc,p.employee_id ) as project_group_rank,
e.department,
fhyp.project_name as project_group
from
performance as p
inner join
first_half_year_projects as fhyp
on
p.project_id = fhyp.project_id
left join
employees as e
on
p.employee_id = e.employee_id
order by
p.project_id,
project_group_rank,
p.employee_id