Это должно сделать это.Возможно, вам понадобится GROUP BY в конце, в зависимости от того, что вы ищете в среднем.
SELECT CONVERT(int,ROUND(AVG(ColumnName),0))
FROM
TableName
РЕДАКТИРОВАТЬ: Этот вопрос интереснее, чем я сначала подумал.
Если мы установимдо фиктивной таблицы вот так ...
WITH CTE
AS
(
SELECT 3 AS Rating
UNION SELECT 4
UNION SELECT 7
)
SELECT AVG(Rating)
FROM
CTE
Получаем целочисленное значение 4
Однако, если мы сделаем это
WITH CTE
AS
(
SELECT 3.0 AS Rating
UNION SELECT 4.0
UNION SELECT 7.0
)
SELECT AVG(Rating)
FROM
CTE
Получим десятичное среднееиз 4.666..etc
Таким образом, похоже, что путь будет
WITH CTE
AS
(
SELECT 3 AS Rating
UNION SELECT 4
UNION SELECT 7
)
SELECT CONVERT(int,ROUND(AVG(CONVERT(decimal,Rating)),0))
FROM CTE
, который вернет целое значение 5, которое вы ищете.