select em.employee_id employee_id, em.employee_name employee_name, pe.performance_score first_half_2024_score, rank() over(partition by pe.project_id order by performance_score desc, pe.employee_id) project_group_rank, em.department department, pr.project_name project_group from( employees em join performance pe on em.employee_id = pe.employee_id join projects pr on pe.project_id = pr.project_id ) where pr.start_date between '2024-01-01' and '2024-07-01' order by pe.project_id, project_group_rank, pe.employee_id