2017-01-31 63 views
0

表看起來象下面這樣:在sql server中計算分散行的平均值?

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個步驟。我想計算在給定測試ID的2臺服務器上所有測試的每個步驟的平均持續時間。例如,如果給定的測試ID爲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