Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Como agrupar en oracle p obterner los 10 mejores

Estas en el tema de Como agrupar en oracle p obterner los 10 mejores en el foro de Oracle en Foros del Web. Hola a todos, soy nueva en esto y no se me ocurre como resolver mi problema. El problema que estoy teniendo es que quiero agrupar ...
  #1 (permalink)  
Antiguo 05/07/2009, 13:20
 
Fecha de Ingreso: julio-2004
Mensajes: 4
Antigüedad: 20 años, 3 meses
Puntos: 0
Pregunta Como agrupar en oracle p obterner los 10 mejores

Hola a todos, soy nueva en esto y no se me ocurre como resolver mi problema. El problema que estoy teniendo es que quiero agrupar por perfil (es el campo NU_PPD), osea que me quede el top 10 del campo del sum para cada uno de los perfiles, el perfil 1 2 y 3.
no se si me explico correctamente, pero lo que estoy necesitando es obtener los 10 primeros de cada perfil.
Les paso la consulta que realice pero no esta devolviendo correctamente.


select *
from
(select trunc(FH_RECEPTION_DATE,'MONTH') as fecha,
NU_PPD as Perfil,
TX_CATEGORY as categoria,
sum(NU_CONSULTAS) as consultas
from GIF.GI_CAC_AGR_DIA
group by trunc(FH_RECEPTION_DATE,'MONTH'),
NU_PPD,
TX_CATEGORY
order by 4 desc
)
where rownum <11


Por favor podrian ayudarme.

Muchas gracias!
  #2 (permalink)  
Antiguo 05/07/2009, 16:17
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 9 meses
Puntos: 6
Respuesta: Como agrupar en oracle p obterner los 10 mejores

Yo también quiero saber la respuesta.

Por ponerlo más claro, la pregunta es:

hacer un select, que te agrupe los resultados y te saque el máximo de una función de agregado de cada grupo (o el máximo y el siguiente, o el máximo y los dos siguientes... los que hayamos especificado).

----------

Relacionado con lo mismo, tengo esta otra duda: cómo hacer un select, que te saque de cada grupo la fila que tenga el valor máximo en una columna (por ejemplo, si tenemos perfumes, y distintos modelos para cada marca, que te saque de cada modelo aquel con más valor en el campo "olor" o el que sea).
  #3 (permalink)  
Antiguo 06/07/2009, 12:18
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Como agrupar en oracle p obterner los 10 mejores

En pocas palabras... necesitas una consulta que te arroje 30 registros?
los diez mejores de cada perfil?

Si es así, puede ayudarte utilizar la clausula union all y hacer cada calculo por separado.

un saludo
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:43.