2010-06-23 13 views
14

Ho una tabella di SQL Server .. è qualcosa di simile:media di righe raggruppate in 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 

Così, ho bisogno di selezionare il media di Column2, ma il gruppo con column1 prima di farlo.
Voglio dire, se dico Avg (Column2) restituisce solo una singola riga con la media di tutte le righe.

Ho bisogno di, prima devo raggrupparli per colonna così:
medio column2 dove column1 = 1
medio di column2 dove column1 = 2
medio di column2 dove column1 = 3

Quindi voglio 3 righe restituite con le medie dei rispettivi valori di column1. Mi sono perso nel fare questo, qualche suggerimento/aiuto per favore?

ps: ho provato diverse domande correlate e nessuna di esse ha aiutato/non ho potuto capire.

risposta

19

È questo quello che vuoi?

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

semplice

select AVG(Column2) from table group by Column1 

non funziona?

+0

grazie! funziona anche! – iamserious

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

Questa seguente query aiuterà per calcolare il valore medio di una riga:

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' 

Questo potrebbe utili ...

0

Esegui il seguente SQL da media:

select column1,avg(column2) from tablename group by column1; 
Problemi correlati