Вычитание среднего из всех строк в SQLite - PullRequest
0 голосов
/ 18 апреля 2019

У меня есть столбец с несколькими значениями X, но я бы хотел вычислить разницу между каждым значением и средним значением, то есть X-AVG (X).

Я пытался:

    SELECT hours-AVG(hours) FROM users

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

Как получить столбец с разницеймежду каждым значением и средним из этих значений?

Ответы [ 2 ]

1 голос
/ 19 апреля 2019

Если вы используете Sqlite 3.25 или новее, другой подход использует оконную функцию :

SELECT hours - avg(hours) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
FROM users
1 голос
/ 18 апреля 2019

Вы должны вычесть (SELECT AVG(hours) FROM users) из каждого столбца:

SELECT hours - (SELECT AVG(hours) FROM users) FROM users
...