Query para contar cantidad de ocurrencias de un COUNT(XXX)?

14/11/2003 - 15:05 por anonymous | Informe spam
Hola,
La otra vez hacía esta pregunta y me contestaron con el
query que está abajo pero creo que NO hace lo que yo
quiero.
Explicacion: Tengo la tabla RenglonesdeFacturas que tiene
el campo NumeroFactura. Una factura puede tener N
renglones.
Tengo que ver la CANTIDAD de veces que se repiten la
CANTIDAD de renglones que tiene las Facturas (por ej. que
me diga que hay 140 facturas distintas con 3 renglones,
180 facturas distintas con 4 renglones, 122 facturas
distintas con 5 renglones, etc.) . La forma de saber si
una factura es distinta es por el NumeroFactura
Cómo hago este query???

Este es el query que me dijeron que haga pero si no me
equivoco me dice por cada factura cuantos renglones tiene
(que no es lo que yo quiero saber)

SELECT NumFactura, COUNT(*)
FROM Reglones
GROUP BY Reglones.NumFactura

Preguntas similare

Leer las respuestas

#1 Anonimo
14/11/2003 - 15:18 | Informe spam
Fijate si te sirve esto (no lo probé)

SELECT cant_reng, COUNT(*) cant
FROM
(SELECT COUNT(*) cant_reng
FROM Reglones
GROUP BY Reglones.NumFactura) t
GROUP BY cant_reng

Salu2!!

Pablo



Hola,
La otra vez hacía esta pregunta y me contestaron con el
query que está abajo pero creo que NO hace lo que yo
quiero.
Explicacion: Tengo la tabla RenglonesdeFacturas que tiene
el campo NumeroFactura. Una factura puede tener N
renglones.
Tengo que ver la CANTIDAD de veces que se repiten la
CANTIDAD de renglones que tiene las Facturas (por ej. que
me diga que hay 140 facturas distintas con 3 renglones,
180 facturas distintas con 4 renglones, 122 facturas
distintas con 5 renglones, etc.) . La forma de saber si
una factura es distinta es por el NumeroFactura
Cómo hago este query???

Este es el query que me dijeron que haga pero si no me
equivoco me dice por cada factura cuantos renglones tiene
(que no es lo que yo quiero saber)

SELECT NumFactura, COUNT(*)
FROM Reglones
GROUP BY Reglones.NumFactura

.

Respuesta Responder a este mensaje
#2 dbuendiab
14/11/2003 - 22:26 | Informe spam
Esta consulta te da una relación de facturas y de líneas de factura:

SELECT NumFactura, COUNT(*) NumLineas
FROM Reglones
GROUP BY Reglones.NumFactura

Supongamos que la haces como tabla, FacturaNumLineas. Entonces esta
otra te totaliza los registros que tienen igual número de líneas

SELECT NumLineas, COUNT(*) FacturasConNumLineasDado
FROM FacturaNumLineas
GROUP BY NumLineas

¿Está claro hasta aquí?

La consulta 1 la puedes situar dentro de la consulta 2, justo
sustituyendo a la tabla FacturaNumLineas, necesitas darle un alias por
si hubiera que usar los campos con prefijo (en este caso no haría
falta porque no hay JOINs con otras tablas), el prefijo es
AliasFacturaNumLineas:

SELECT AliasFacturaNumLineas.NumLineas, COUNT(*)
FacturasConNumLineasDado
FROM (
SELECT NumFactura, COUNT(*) NumLineas
FROM Reglones
GROUP BY Reglones.NumFactura
) AliasFacturaNumLineas
GROUP BY AliasFacturaNumLineas.NumLineas

Este método de aproximación para estudiar consultas es muy práctico y
ayuda a entender mejor las consultas complejas.

Diego Buendia
Barcelona Spain
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida