select nom, count(idPokemon)
from pokemon, apparition
where id = idPokemon
group BY id, nom
having COUNT(idPokemon)>(SELECT AVG(COUNT(idPokemon)) FROM pokemon LEFT JOIN apparition On id=idPokemon GROUP BY nom);

select nom, count(idPokemon)
from pokemon, apparition
where id = idPokemon
group BY id, nom
having COUNT(idPokemon)>(SELECT AVG(COUNT(*)) FROM apparition GROUP BY idPokemon);