Anda dapat bergabung dengan jumlah total yang tidak dikelompokkan atau dipisah, dan membaginya dengan kueri jumlah Anda. dengan cara ini Anda hanya melakukan pemilihan total sekali untuk waktu proses yang lebih cepat
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