Gunakan agregasi bersyarat. Tidak jelas apakah Anda ingin melihat 12/24 bulan terakhir, atau pada bulan 2017 dan bulan yang sama di 2016. Saya juga tidak mengerti bagaimana Anda ingin menghitung persentase. Saya membagi keuntungan tahun ini dengan tahun lalu dalam kueri di bawah ini. Sesuaikan ini agar memenuhi kebutuhan Anda.
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;