Utilisez l'agrégation conditionnelle. Il n'est pas clair si vous voulez regarder les 12/24 derniers mois, ou les mois de 2017 et les mêmes mois en 2016. Je ne comprends pas non plus comment vous voulez calculer un pourcentage. Je divise les bénéfices de cette année par ceux de l'année dernière dans la requête ci-dessous. Ajustez-le pour qu'il réponde à vos besoins.
select
b_emp_id,
month,
turnover_this_year,
profit_this_year,
turnover_last_year,
profit_last_year,
profit_this_year / profit_last_year * 100 as diff
from
(
select
b_emp_id,
month(b_date) as month,
sum(case when year(b_date) = year(curdate()) then b_turnover end) as turnover_this_year,
sum(case when year(b_date) = year(curdate()) then b_profit end) as profit_this_year,
sum(case when year(b_date) < year(curdate()) then b_turnover end) as turnover_last_year,
sum(case when year(b_date) < year(curdate()) then b_profit end) as profit_last_year
from bookings
where year(b_date) in (year(curdate()), year(curdate()) - 1)
and month(b_date) <= month(curdate())
group by b_emp_id, month(b_date)
) figures
order by b_emp_id, month;