Я ищу способ выбрать среднее значение для конкретного пользователя в операторе выбора, а затем вычислить дисперсию в текущей строке из ранее вычисленного среднего.
Пользователь и Attmept_Number - составной ключ,Кроме того, это должно быть сделано либо в предложении SELECT
, либо WHERE
.Мне известно о решении, использующем FROM (SELECT...)
, но в этом случае я ищу другое решение.
SELECT
User,
Attmept_Number,
(User_Score - AVG(User_Score)) As Variance
FROM Scores
С помощью приведенного выше утверждения я получаю среднее значение по столбцу, а не среднее значение для пользователя.Когда я добавляю предложение GROUP BY
, это вызывает проблемы из-за составного ключа.
Результат:
User Score Variance
1 5 -6
1 10 -1
1 15 4
3 14 3
Цель:
User Score Variance
1 5 -5
1 10 0
1 15 5
3 14 0