select sum(champs), count(champs2), sum(champs)/count(champs2)
from table;
=> ça devrait marcher et faire ce que tu veux. Je ne comprends pas ta question "est ce que les calculs (sum et count) sont stocké en cache ?".
Sinon pour utiliser les alias, il faut en général qu'ils soient dans une sous-requête.
Exemple :
select qte, participants, qte/participants qte_moyenne
from (select sum(champs) as qte,count(champs2) as participants from table);
edit : la perte de perfs doit être minime avec la sous-requête (par contre le SGBD peut ne pas accepter les sous-requêtes).
C'est intéressant d'utiliser des sous-requêtes et alias pour des raisons de lecture plus simple du code, et maintenance plus facile, par conséquent ça vaut le coup quand les données en alias sont utilisées de nombreuses fois. Dans ton cas ça n'apporte pas grand chose