
Esta sería la consulta para calcular el Interés Promedio Ponderado (Weighted Average Interest Rate):
SELECT
FORMAT((SUM((interes / 100) * cantidad) / SUM(cantidad)) * 100, 2) AS interes_ponderado
FROM mi_tabla;
Por ejemplo si queremos calcular el interés ponderado de los siguientes registros:
Id | Cantidad | Interes |
1 | 1000 | 9 |
2 | 5000 | 6 |
3 | 10000 | 5 |
Manualmente el procedimiento sería el siguiente:
1000 x 0.09 (dividimos entre 100 el interés) + 5000 x 0.06 + 10000 x 0.05
90 + 300 + 500 = 890
Este resultado lo dividimos entre la suma de las tres cantidades 1000 + 5000 + 10000 = 16000.
890 / 16000 = 0.055625
Ahora lo multiplicamos por cien para expresarlo en porcentaje:
0.055625 x 100 = 5.5625
Finalmente lo redondeamos y nos queda:
5.56
Con MYSQL el procedimiento sería:
El comando SUM devuelve la suma de lo que está en paréntesis. En este caso el producto de multiplicar interés por cantidad.
(SUM((interes / 100) * cantidad) / SUM(cantidad)) * 100
Ahora sólo hemos dividido entre la suma de todas las cantidades. Finalmente multiplicamos por 100 el resultado.
(SUM((interes / 100) * cantidad) / SUM(cantidad)) * 100
Adicionalmente podemos dar un poco de formato al resultado mostrando únicamente dos decimales. Para ello utilizamos el comando FORMAT.
FORMAT((SUM((interes / 100) * cantidad) / SUM(cantidad)) * 100, 2)
El primer parámetro que recibe FORMAT es la cantidad y el segundo el número de decimales.