Je moet subquery's gebruiken:
SELECT x.user,
AVG(x.cnt)
FROM (SELECT user, COUNT(answer) AS cnt
FROM surveyValues
WHERE study='a1'
GROUP BY user) x
GROUP BY x.user
U kunt een aggregaat niet omwikkelen met een ander aggregaat. Je zou een analyse in een aggregaat kunnen stoppen, als MySQL analytische/ranking/windowing-functies ondersteunt...