Query

Buenas,
¿Cómo se puede hacer esta query en access?
Para cada dni al año puede haber varios registros, y quiero :
1º) Obtener la media de registros que hay para cada dni y año
2º) De todas esas medias para cada dni y año obtener la media
SELECT Avg(NUMERO_MEDIO_PORCLI) As NUMERO_MEDIO_TOTAL
FROM (
SELECT DNI, ANO, Count(*), Avg(Count(*)) AS NUMERO_MEDIO_PORCLI
FROM T1
GROUP BY DNI, ANO)
2

2 Respuestas

84.325 pts. Experto en Microsoft Access y SQL Server
No se puede hacer con UNA SOLA CONSULTA debido a que AVG no funciona sobre funciones de agregado, NI SIQUIERA EN SQL server.
AVG no funciona ni con * ni con expresiones como count(*) etc.
Crea una tabla temporal (mediante una consulta de creación de tabla) para el apartado nº 1, etc.
---
O envía tu pregunta al tablón publico o a otros expertos...
19.925 pts.
En primer lugar perdona por el retraso.
Voy al grano.
No termino de comprender la información que introduces en la tabla y lo que quieres obtener.
Si cuentas los registros que tienes por DNI y Año, lo más que puedes sacar luego es la media por año o la media por DNI, ya que para cada DNI-Año el Count te va a dar un Número único.
Otro detalle, es que COUNT(*) no está permitido en Access. Aquí, la Sintaxis debe ser COUNT(Campo), donde Campo es cualquier campo que tengas en la Tabla.
Si me puedes completar la información, posiblemente pueda serte de más ayuda.
Valora la respuesta (aunque sea con un 0 si la respuesta no te satisface) para que deje de aparecer en mis preguntas pendientes.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas