varios registros promedio funciones funcion ejemplos contar consultas campos avg agrupamiento agrupados agrupadas agregacion sql count

registros - ¿Cómo se cuentan las filas en una consulta SQL que ya utilizó count, group by y having before?



sql contar registros agrupados (3)

Consultas anidadas:

select count(*) from (select userId from submission group by userId having count(submissionGuid) > 10) n

Editado para incorporar el comentario de mbrierst sobre la necesidad de un alias (la "n" al final) para la subconsulta anidada. Oracle no requiere esto, pero SQL Server sí lo requiere. Siéntase libre de agregar un comentario sobre el uso en otras plataformas de bases de datos.

Por ejemplo, usando la respuesta para esta pregunta:

Cómo seleccionar a todos los usuarios que hicieron más de 10 presentaciones "Cómo seleccionar a todos los usuarios que hicieron más de 10 envíos".

select userId from submission group by userId having count(submissionGuid) > 10

Digamos ahora que quiero saber muchas filas de esta instrucción SQL emitida. ¿Cuán escalable es la solución para contar las filas de conteo de las filas?


En SQL Server, podrías hacer

select @@ROWCOUNT

inmediatamente después de la consulta que publicó.


Error leve en el ejemplo publicado anteriormente, necesita un alias para el nombre de una tabla para la subconsulta:

select count(*) from (select userId from submission group by userId having count(submissionGuid) > 10) t

No estoy seguro acerca de la escalabilidad, pero esta es la solución. Si esto no se está ampliando lo suficientemente bien para usted, debe considerar los principales cambios de diseño, como el seguimiento de aquellos que enviaron más de 10 presentaciones en una tabla separada que actualiza a través de las aplicaciones que completan las presentaciones. O muchas otras soluciones posibles.