2010-06-23 8 views
14

Mam Server tabeli SQL .. to jest coś takiego:Średnia zgrupowanych wierszy w 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 

Więc muszę wybrać średnio Kolumna2, ale grupa z Kolumnie1 przed robić.
Mam na myśli, jeśli mówię Avg (Column2), to po prostu zwraca pojedynczy wiersz ze średnią wszystkich wierszy.

Co potrzebne jest, najpierw trzeba grupy im przez kolumnę sposób:
Średnia z COLUMN2 gdzie kolumna1 = 1
Średnia z COLUMN2 gdzie kolumna1 = 2
Średnia z COLUMN2 gdzie kolumna1 = 3

Dlatego chcę, aby zwrócono 3 wiersze ze średnimi odpowiednich wartości z kolumny 1. Jestem w tym zagubiony, proszę o wszelkie wskazówki/pomoc?

ps: Próbowałem kilku powiązanych pytań, a żaden z nich nie pomógł/nie mogłem zrozumieć.

Odpowiedz

19

Czy tego chcesz?

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

prosty

select AVG(Column2) from table group by Column1 

nie działa?

+0

dziękuję! to też działa! – iamserious

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

Ten następujące zapytanie będzie pomoc dla obliczenia średniej wartości rzędu:

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' 

Może pomocny ...

0

wykonać następujące SQL z Średni:

select column1,avg(column2) from tablename group by column1; 
Powiązane problemy