Použijte podmíněnou agregaci. Není jasné, zda se chcete dívat na posledních 12 / 24 měsíců, nebo na měsíce roku 2017 a stejné měsíce v roce 2016. Stejně tak nechápu, jak chcete vypočítat procenta. V níže uvedeném dotazu vydělím letošní zisky loňskými. Upravte to tak, aby vyhovovalo vašim potřebám.
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;