sql >> Base de Datos >  >> RDS >> Mysql

Consulta MySQL para calcular el porcentaje de la columna total

puede unir a la izquierda una suma total que no está agrupada o dividida, y dividirla por su consulta de suma. de esta manera, solo está haciendo la selección total una vez para un tiempo de ejecución más rápido

SELECT cat, sum_atual, sum_atual/total_atual as percent_atual 
FROM
(   SELECT categories.cat AS cat, SUM(atual) AS sum_atual
    FROM `table1` 
    JOIN categories ON table1.category_id=categories.id
    GROUP BY categoria
) t
LEFT JOIN 
(   SELECT SUM(atual) as total_atual
    FROM `table1`
) t1