Użyj agregacji warunkowej. Nie jest jasne, czy chcesz spojrzeć na ostatnie 12 / 24 miesiące, czy na miesiące 2017 i te same miesiące w 2016. Nie rozumiem też, jak chcesz obliczyć procent. W poniższym zapytaniu dzielę tegoroczne zyski przez zeszłoroczne. Dostosuj to tak, aby spełniało Twoje potrzeby.
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;