entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

sacar la media con sql server

hola a todos, ojala que alguien me pueda ayudar
tengo la siguiente consulta

SELECT avg(sumhours) median from
(
SELECT sumhours, 
rnasc = row_number() over(order by sumhours, projectid),
rndesc = row_number() over(order by sumhours DESC, projectid desc)
 from [BD].[dbo].[summary] where projectid=79 and subactivity=' Proyecto x' and month1='sep'
) b
WHERE rnasc between rndesc - 1 and rndesc + 1

me trae la media de manera correcta

mi problema es que quisiera que me trajera la media no solo para la sub- actividad "Proyecto x" si no para todas las que tiene el proyecto con id 79, es decir que me las trajera agrupadas con su respectivo valor de media, no se si me di a entender, si alguien me pudiese ayudar se lo agradecería mucho. De antemano gracias por cualquier ayuda o guia que me pudieran brindar

1 Respuesta

2votos

rach Puntos6010

creo que mas me tarde en ponerlo que en lo que pude resolver mi problema asi que se los comparto

SELECT avg(sumhours) median from
(
SELECT sumhours, 
rnasc = row_number() over(**PARTITION BY** subactivity order by sumhours, projectid),
rndesc = row_number() over(PARTITION BY subactivity  order by sumhours DESC, projectid desc)
 from [BD].[dbo].[summary] where projectid=79  and month1='sep'  group by subactivity,sumhours,projectid
) b
WHERE rnasc between rndesc - 1 and rndesc + 1  group by subactivity

solo le agregue despues del over PARTITION BY para que pudiera agrupar correctamente que era lo que me estaba fallando pero bueno espero alguien le sirva

Saludos

1voto

Peter comentado

Gracias por compartir la solución! :D

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta