Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Среднее значение  [new]
Marin_1a
Member

Откуда:
Сообщений: 125
Добрый день!
Есть 2 таблицы: 1 - Специалисты, 2 - хранит Оценки Специалистов и их обоих связывает общий ID


SELECT IM.SPECIALIST, Q.ANSWER
FROM [dbo].[INCIDENTS] IM CROSS JOIN [dbo].[QUESTION] Q
WHERE IM.INCIDENT_ID = Q.OBJECT_ID
GROUP BY IM.SPECIALIST, Q.OBJECT_ID, Q.ANSWER



Мне необходимо по каждому специалисту вывести среднюю оценку.
Можете подсказать как это получается?
Спасибо!!!

К сообщению приложен файл. Размер - 5Kb
3 май 17, 13:50    [20452992]     Ответить | Цитировать Сообщить модератору
 Re: Среднее значение  [new]
iap
Member

Откуда: Москва
Сообщений: 46951
SELECT IM.SPECIALIST, ANSWER=AVG(Q.ANSWER)
FROM [dbo].[INCIDENTS] IM JOIN [dbo].[QUESTION] Q ON IM.INCIDENT_ID = Q.OBJECT_ID
GROUP BY IM.SPECIALIST;
3 май 17, 13:59    [20453036]     Ответить | Цитировать Сообщить модератору
 Re: Среднее значение  [new]
iap
Member

Откуда: Москва
Сообщений: 46951
Если Q.ANSWER - INT, то точнее
SELECT IM.SPECIALIST, ANSWER=AVG(CAST(Q.ANSWER AS DEC(3,2)))
FROM [dbo].[INCIDENTS] IM JOIN [dbo].[QUESTION] Q ON IM.INCIDENT_ID = Q.OBJECT_ID
GROUP BY IM.SPECIALIST;
3 май 17, 14:04    [20453058]     Ответить | Цитировать Сообщить модератору
 Re: Среднее значение  [new]
Marin_1a
Member

Откуда:
Сообщений: 125
iap,

Спасибо!
А как уменьшить округление до 1 десятой?
3 май 17, 14:12    [20453100]     Ответить | Цитировать Сообщить модератору
 Re: Среднее значение  [new]
iap
Member

Откуда: Москва
Сообщений: 46951
Marin_1a
iap,

Спасибо!
А как уменьшить округление до 1 десятой?
Подберите нужный тип.
Только FLOAT не советую.
Ну и есть такие функции, как ROUND()
3 май 17, 14:14    [20453115]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить