SQL Server - Agrupacion en una linea

 
Vista:

Agrupacion en una linea

Publicado por Bandada (1 intervención) el 03/02/2007 13:51:28
Buenas Tardes a todos,

Estoy intentando hacer una serie de agrupaciones con contadores. Pero la idea es que debería agrupar por intervalos, es decir, si quiero agrupar entre 0 y 50. Que me devolviese todos los registros cuyo ContenidoUsado estuviera en este rango. Me explico?

Tengo una tabla en que tengo la estructura es:

nombreObjeto
TipoObjeto
ContenidoUsado
ContenidoTotal

Lo que necesitaría sería hacer una serie de contadores por tipo de objeto que me devolviera lo siguiente, atentos a que me interesarían los registros tal y como lo expongo:

TipoObjeto1 ContadorUsado0 ContadorUsado0-50 ContadorUsado51-100.......
TipoObjeto2 ContadorUsado0 ContadorUsado0-50 ContadorUsado51-100.......

Me gustaría que en el mismo registro estuvieran todos los contadores pero en diferentes columnas. Esto se puede hacer en sql-server?

La otra pregunta seria si hay alguna funcion que me devolviese el porcentaje ya que así los acotes de contador sería por porcentaje de uso.

Supongo que será algo complejo.

En fin, A ver si alguien se ha topado con algo semejante

Saludos,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Agrupacion en una linea

Publicado por Isaías (3308 intervenciones) el 06/02/2007 03:40:42
SELECT
CASE WHEN ContenidoUsado BETWEEN 0 AND 50 THEN ContenidoUsado END AS ContadorUsado0-50
CASE WHEN ContenidoUsado BETWEEN 51 AND 100 THEN ContenidoUsado END AS ContadorUsado51-100

No se si debas hacer un SUM, en todo caso, deberias colocarlo fuera del CASE:

SUM(CASE WHEN ContenidoUsado BETWEEN 0 AND 50 THEN ContenidoUsado END) AS ContadorUsado0-50

Por ultimo, el calculo del porcentaje, es simplemente un calculo matematico, donde deberas obtener la SUMA total de tus USOS y multiplicar su partical por 100 y dividirlo entre ese total.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar