Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Gewichteter MySQL-Durchschnitt in einer einzigen Abfrage

Beachten Sie, dass

40*(8/21) + 30*(10/21) + 50*(3/21) =
(40*8)/21 + (30*10)/21 + (50*3)/21 =
(40*8 + 30*10 + 50*3)/21

und

20*(4/23) + 15*(10/23) + 10*(9/23) =
(20*4)/23 + (15*10)/23 + (10*9)/23 =
(20*4 + 15*10 + 10*9)/23

Dadurch können Sie mit

die gewünschten Ergebnisse erzielen
SELECT sum(hours_transit * load_transit) / sum(hours_transit),
       sum(hours_standby * load_standby) / sum(hours_standby)
FROM your_table