Ho una tabella di questo tipo frutto di un raggruppamento.

codice:
anno   quanti
2002     2
2003     1
2004     4
2005    12
2006     2
per calcolare la percentuale faccio così

select @totale := count(*) from tabella
select year(mdata),count(year(mdata)),count(year(mdata))* 100/@totale as percentuale
from tabella group by year(mdata)

vorrei sapere se è possibile calcolare le percentuali senza dover prima definire una variabile.
Grazie.