Hola OScar, como estas? no comprendo bien cual es tu duda, si queres
saber como resolver la query o como funciona sql internamente para
hacerlo.

Si vos queres hacer un where en agrupaciones necesitas usar having,
entonces si queres saber cuales son los registros que tienen entre 0 y
60 veces de datos repetidos deberias hacer algo como esto


SELECT  Campo1, COUNT(*) AS Veces
 FROM NombreTabla
 GROUP BY Campo1
 HAVING COUNT(*) < 60
 ORDER BY Veces DESC



El 20/12/07, Oscar Onorato <[EMAIL PROTECTED]> escribió:
>
> Hola cumpas,
>
> Ya leí los Books On Line (me anticipio por algun iluminado que responda con
> poca onda).
> Pero necesito saber concretamente cómo opera en cada contexto.
>
> En mi caso lo estoy necesitando en una consulta donde necesito saber cual es
> el nº (entre 0 y 60) que se repite mayor cantidad de veces en un mismo
> campo.
>
> Les paso el Stored Procedure que estoy, usando para campo individual.
>
> SELECT TOP 1 Campo1, COUNT(*) AS Veces
> FROM NombreTabla
> GROUP BY Campo1
> ORDER BY Veces DESC
>
> Este es el resultado actual:
>
> Campo1  Veces
> -----------   -----------
> 0            46
>
> No llego a entender qué hace Group By tras bambalinas, si calcula y si lo
> hace cómo lo hace.
> ¿El COUNT(*) determina el resultado del Group By?¿Cómo lo hace, como lo
> calcula?
> Quizás sería bueno leer algo para entender consultas de este tipo desde cómo
> las razonamos.
>
> Si me puede ayudar les voy a estar muy agradecido.
>
> Saludos y gracias
>
>


-- 
-----------------------------------------------------------
Microsoft MVP en SQL Server
Mentor asociado en SQLTotalConsulting
Excelencia en servicios y consultoria  SQLServer
www.sqltotalconsulting.com
-----------------------------------------------------------

Responder a