2015-03-03 5 views
2

Может ли кто-нибудь помочь мне о том, как запросить среднее значение этого?Среднее количество запросов SQL Server

У меня есть эта таблица.

teacher | class | students | rating 
----------------------------------- 
    T1  1  001  6 
    T1  1  002  6 
    T1  2  003  1 
    T1  3  004  1 
    T2  1  001  6 
    T2  1  002  6 
    T2  2  003  1 
    T2  3  004  1 

если я Select teacher, class, avg(rating) from table group by teacher, class тогда я получаю это:

teacher | class | rating 
------------------------ 
    T1  1  6 
    T1  2  1 
    T1  3  1 
    T2  1  6 
    T2  2  1 
    T2  3  1 

, что я хочу сделать, это получить среднее rating этого результата, и сгруппировать его по teacher что:

teacher | rating 
------------------------ 
    T1  2.66667 
    T2  2.66667 

, потому что если я сделаю Select avg(rating) from table group by teacher, я получаю

teacher | rating 
------------------------ 
    T1  3.5 
    T2  3.5 
+1

Я дал ответ на тот же вопрос несколько часов назад, а затем вопрос был удален? Зачем ? –

+0

Среднее значение, как правило, недействительное измерение –

ответ

2

Вы можете сделать это:

SELECT teacher,avg(avgrating) as avgrating 
FROM 
(Select teacher, class, avg(rating) avgrating 
from TableName 
group by teacher, class) Temp 
GROUP BY teacher 

Результат:

TEACHER AVGRATING 
T1  2.666666 
T2  2.666666 

Пример результата в SQL Fiddle.

ИЛИ:

SELECT T1.teacher,avg(T2.avgrating) as rating 
FROM TableName T1 JOIN 
(SELECT teacher,class,avg(rating) as avgrating 
FROM TableName T2 
GROUP BY teacher,class) T2 ON T1.teacher=T2.teacher 
GROUP BY T1.teacher 

SQL Fiddle.

+0

Я действительно думал об этом. Мне просто интересно, есть ли другой способ вместо вложенного select – akoxi

+0

@akoxi: я отредактировал свой ответ с другим решением, используя join. Оба они одинаковые. Для получения желаемого результата вам понадобится внутренний запрос. –

1

использовать вложенный выбор:

select teacher , avg(avgr) from 
(Select teacher, class, avg(rating) avgr from table group by teacher, class) qry 
group by teacher 
Смежные вопросы