2010-06-23 31 views
14

tengo una tabla de servidores SQL .. es algo como esto:promedio de filas agrupadas en SQL Server

 
Id ...... Column1 ...... Column2 
```````````````````````````````` 
1 ........ 1 ............. 34 
2 ........ 1 ............. 44 
3 ........ 2 ............. 45 
4 ........ 2 ............. 36 
5 ........ 2 ............. 23 
6 ........ 3 ............. 68 
7 ........ 3 ............. 26 

Por lo tanto, hay que seleccionar el promedio de la columna 2, pero el grupo con column1 antes de hacer eso.
Quiero decir, si digo Promedio (Columna2) simplemente devuelve una sola fila con el promedio de todas las filas.

Lo que necesito es, primero tengo que agruparlos por columna para:
promedio de columna2 que column1 = 1
promedio de columna2 que column1 = 2
promedio de columna2 que column1 = 3

Entonces quiero que se devuelvan 3 filas con los promedios de los valores respectivos de column1. Estoy perdido al hacer esto, ¿alguna indirecta/ayuda por favor?

ps: Intenté varias preguntas relacionadas, y ninguna de ellas me ayudó/No pude entender.

Respuesta

19

¿Esto es lo que quieres?

select column1, avg(column2) from table group by column1 
2
SELECT column1, AVG(column2) 
    FROM "Insert table name" 
GROUP BY column1 
4

sencilla

select AVG(Column2) from table group by Column1 

no funciona?

+0

gracias! ¡también funciona! – iamserious

1
SELECT Column1, AVG(Column2) FROM test GROUP BY Column1; 
0

Esta consulta siguiente le ayudará a calcular el valor medio de una fila:

select Avg(A.Tamil + A.English + A.Maths + A.Science + A.Social_Science)/5 As 
Average 
from MarkTable A, MarkTable B, MarkTable C 
where A.RollNo='14UCA002' 

Esto podría útiles ...

0

Ejecutar el siguiente código SQL de la media:

select column1,avg(column2) from tablename group by column1; 
Cuestiones relacionadas