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

MySQL-Abfrage zur Berechnung des Prozentsatzes der gesamten Spalte

Sie können eine Gesamtsumme, die nicht gruppiert oder aufgeteilt ist, links zusammenfügen und durch Ihre Summenabfrage dividieren. Auf diese Weise führen Sie die Gesamtauswahl nur einmal durch, um die Laufzeit zu beschleunigen

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