Как получить среднее значение между двумя значениями в SQL Server

Пожалуйста, обратитесь к деталям, показанным здесь:

ID Value 
 ---------
 1 120 
 1 150

Запрос:

Select avg(value) 
 from table 
 group by Id

Токовый выход = 130

Ожидаемый результат =

120 + 150 / 2 = 135

Пожалуйста, дайте мне знать ваши комментарии.

1 ответ

SQL Server выполняет целочисленную арифметику, даже для целых чисел. Однако он не округляет целые числа до ближайшего 10. Возможно, по вашим реальным данным следующее будет делать то, что вы хотите:

Select avg(value * 1.0) 
from table 
group by Id ;

Он изменяет значение на что-то с десятичной точкой, поэтому среднее значение не является средним.

licensed under cc by-sa 3.0 with attribution.