2017-01-31 2 views
0

таблица выглядит следующим образом:Рассчитать среднее количество разбросанных строк в sql-сервере?

testid stepid serverid duration 
1  1  1  10 
1  2  1  11 
2  1  2  12 
2  2  2  13 
3  1  1  14 
3  2  1  15 
4  1  2  16 
4  2  2  17 

4 тесты работали на двух серверах. Каждый тест имеет 2 шага. Я хотел бы рассчитать среднюю продолжительность каждого шага всех тестов на 2 серверах, заданных идентификатором теста. Например, если данные испытаний идентификаторы 1 и 2, финальный стол выглядит, как показано ниже:

stepid avg_duration 
1  (10 + 12)/2 
2  (11 + 13)/2 

ответ

2

Это просто group by, верно?

select stepid, avg(duration) 
from t 
where testid in (1, 2) 
group by stepid; 

Примечание: Вы можете avg(duration*1.0), если вы хотите "нормальное" разделение.

+0

спасибо, я должен быть без ума, тогда ... – user1888955

+2

@ user1888955 Вам следует подумать о принятии ответа, если это поможет. – GurV