¿Cómo combinar funciones agregadas en MySQL?

Estoy aprendiendo MySQL. ¿Hay alguna manera de combinar (o anidar) funciones agregadas?

Dada una consulta:

SELECT user, count(answer) FROM surveyValues WHERE study='a1' GROUP BY user; 

Esto me dará la cantidad de preguntas respondidas por cada usuario. Lo que realmente quiero es el número promedio de preguntas respondidas por usuario … algo así como:

 SELECT avg(count(answer)) FROM surveyValues WHERE study='a1'; 

¿Cuál es la forma correcta de calcular esta estadística?

Si esto es posible, ¿hay alguna manera de dividir esta estadística para cada pregunta? (los usuarios pueden responder la misma pregunta varias veces). Algo como:

 SELECT avg(count(answer)) FROM surveyValues WHERE study='a1' GROUP BY question; 

Tienes que usar subconsultas:

  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 

No puede envolver un agregado con otro agregado. Podría envolver una analítica en un agregado, si MySQL soportara funciones de análisis / sorting / windows …

sí, todos parecen razonables.

¿Has probado y recibido resultados inesperados?

Por lo general, espero que también incluya la columna de manejo en la list de selección:

 SELECT question, avg(count(answer)) FROM surveyValues WHERE study='a1' GROUP BY question;