count(*) en un group

08/11/2007 - 19:28 por rubenc | Informe spam
Hola
alguien pudiera decirme como obtener el numero total de registro de un selec
como este:

SELECT c1, year(f1), month(f1)
FROM tabla
GROUP BY c1, year(f1), month(f1)
HAVING count(*) > 0
and year(f1) = 2005 and month(f1)
order by c1

esta sentencia me agrupa los registros repetidos...

de hecho en la tabla tengo como 5000 registros y me lo agrupa como en 538
(porque se repite el campo c1 y la fecha)

si le digo select count(*) me da el total que agrupo por cada registro...
yo quiero que me diga el numero total de registros... en este ejemplo seria
538

tendria que leer registro por registro incrementando un contador hasta
llegar al fin del select... y eso es tardado

Muchas Gracias

Ruben Carreon

Preguntas similare

Leer las respuestas

#11 Carlos M. Calvelo
09/11/2007 - 20:37 | Informe spam
Hola otra vez Ruben,

On 9 nov, 18:53, rubenc wrote:

el problema es... encontrar la forma de obtener el numero de registros total
del cursor que obtengo de hacer el select... group by... having...

ahorita lo que hago, los cuento manualmente con un contador... numreg++;
pero bueno tal vez si lo mando a otra tabla... con INTO tabla_temp
y a esa tabla le doy un select count(*) obviamente me va a decir el numero
total de registros, pero queria evitar rodeos...



Quizás esto te dé una idea:
Mira en la ayuda @@ROWCOUNT
Me imagino, por ejemplo, una función o un SP que
devuelva ademas de la consulta esta variable en
un parámetro.

Saludos,
Carlos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida