2010-06-23 5 views
14

J'ai une table Sql Server .. il est quelque chose comme ceci:moyenne de lignes groupées dans 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 

Alors, je dois choisir la moyenne des Colonne2, mais le groupe avec colonne1 avant de le faire. Je veux dire, si je dis Avg (Colonne2), il retourne juste une seule ligne avec la moyenne de toutes les lignes.

Ce que j'ai besoin est, d'abord je dois les regrouper par colonne pour:
moyenne des colonne2 où colonne1 = 1
moyenne de colonne2 où colonne1 = 2
moyenne de colonne2 où colonne1 = 3

Je veux donc 3 lignes retournées avec les moyennes des valeurs respectives de column1. Je suis perdu à faire cela, des conseils/aide s'il vous plaît? Ps: J'ai essayé plusieurs questions connexes, et aucune d'elles n'a aidé/je ne pouvais pas comprendre.

Répondre

19

Est-ce ce que vous cherchez?

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

simples

select AVG(Column2) from table group by Column1 

ne fonctionne pas?

+0

merci! ça marche aussi! – iamserious

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

Cette requête suivante vous aidera à calculer la valeur moyenne d'une ligne:

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' 

Cela pourrait utile ...

0

Exécutez le code SQL de moyenne suivante:

select column1,avg(column2) from tablename group by column1; 
Questions connexes