web-dev-qa-db-fra.com

Moyenne des lignes groupées dans Sql Server

J'ai un serveur SQL Server .. c'est quelque chose comme ça:

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

Donc, je dois sélectionner la moyenne de Column2, mais groupe avec column1 avant de le faire.
Je veux dire, si je dis Avg (Colonne2), cela ne fait que renvoyer une seule ligne avec la moyenne de toutes les lignes. 

Ce dont j'ai besoin, c’est d’abord, j’ai besoin de les regrouper par colonne, ainsi:
Moyenne de la colonne 2 où colonne1 = 1
Moyenne de la colonne 2 où colonne1 = 2
Moyenne de la colonne 2 où colonne1 = 3 

Donc, je veux 3 lignes retournées avec les moyennes des valeurs respectives de la colonne1. Je suis perdu à faire cela, des astuces/aide s'il vous plaît? 

ps: J'ai essayé plusieurs questions liées et aucune d’entre elles n’a aidé/je ne comprenais pas.

17
iamserious

C'est ce que tu veux?

select column1, avg(column2) from table group by column1
20
Blorgbeard

simple

select AVG(Column2) from table group by Column1

ne fonctionne pas?

4
nothrow
SELECT column1, AVG(column2) 
  FROM "Insert table name"
GROUP BY column1 
2
Baaju
SELECT Column1, AVG(Column2) FROM test GROUP BY Column1;
1
user373455

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

 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 être utile ...

1
Ismayil S

Exécutez le code SQL suivant à partir de la moyenne:

select column1,avg(column2) from tablename group by column1;
0
Amar Agrahari