sql >> Database >  >> RDS >> Mysql

MySQL berekent percentage van twee andere berekende bedragen inclusief een groep per maand

Gebruik voorwaardelijke aggregatie. Het is niet duidelijk of je naar de laatste 12/24 maanden wilt kijken, of naar de maanden 2017 en dezelfde maanden in 2016. Ook begrijp ik niet hoe je een percentage wilt berekenen. Ik deel de winst van dit jaar door die van vorig jaar in onderstaande zoekopdracht. Pas dit aan zodat het aan uw behoeften voldoet.

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;



  1. csv geüpload werkt niet

  2. MySQL:Onbekende kolom in waar-clausulefout

  3. Controleer of Tomcat en MySQL al op de machine zijn geïnstalleerd

  4. Query met complexe criteria:gebruik van JPA in plaats van NativeQuery