2010-06-23 3 views
14

У меня есть таблица Sql Server .. это что-то вроде этого:Средняя сгруппированных строк в 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 

Итак, мне нужно выбрать среднее COLUMN2, но группа с column1, прежде чем делать это.
Я имею в виду, если я говорю Avg (Column2), он просто возвращает одну строку со средним числом всех строк.

Что мне нужно, во-первых, мне нужно сгруппировать их по столбцам так:
среднее значение Столбец2, где столбец1 = 1
Среднее значение Столбец2, где столбец1 = 2
Среднее значение Столбец2, где столбец1 = 3

Поэтому я хочу вернуть 3 строки со средними значениями соответствующих столбцов1. Я теряюсь при этом, любые подсказки/помощь, пожалуйста?

ps: Я попробовал несколько связанных вопросов, и никто из них не помог/я не мог понять.

ответ

19

Это то, что вы хотите?

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

простой

select AVG(Column2) from table group by Column1 

не работает?

+0

спасибо! он тоже работает! – iamserious

0

Это следующий запрос поможет для вычисления среднего значения из ряда:

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' 

Это может полезно ...

0

Выполните следующую SQL от среднего:

select column1,avg(column2) from tablename group by column1; 
Смежные вопросы