Prova così allora
tabellaTemp sarebbe la tabella temporanea che devi avere appena creato, con la sola colonna "anno" che contiene una riga per ogni anno. Ti rimane da risolvere il problema di definire il range delle annate.
codice:select tt.anno, ifnull(t.valore,0) from tabellaTemp tt left join (select year(data) as anno, sum(valore) as valore from tabella group by anno ) as t on (tt.anno = t.anno)


Rispondi quotando