从 SQLite 中的所有行中减去平均值

Posted

技术标签:

【中文标题】从 SQLite 中的所有行中减去平均值【英文标题】:Substract average from all rows in SQLite 【发布时间】:2019-09-09 04:05:59 【问题描述】:

我有一列包含多个值 X,但我想计算每个值与平均值之间的差异,即 X-AVG(X)。

我试过了:

    SELECT hours-AVG(hours) FROM users

但是,这只会返回一个值,即第一个值减去平均值。

如何获得每个值与这些值的平均值之间的差异的列?

【问题讨论】:

【参考方案1】:

如果您使用的是 Sqlite 3.25 或更新版本,另一种方法使用 window function:

SELECT hours - avg(hours) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
FROM users

【讨论】:

【参考方案2】:

你必须从每一列中减去(SELECT AVG(hours) FROM users)

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

【讨论】:

以上是关于从 SQLite 中的所有行中减去平均值的主要内容,如果未能解决你的问题,请参考以下文章

翻译:神经网络 为什么要通过减去数据集的图像均值来标准化图像,而不是深度学习中的当前图像均值?

用 Python 用该列的平均值减去数据框中的每一列

R语言使用caret包的preProcess函数进行数据预处理:对所有的数据列进行center中心化(每个数据列减去平均值)设置method参数为center

列集的平均值减去最后一个非空值? [复制]

如果单元格值包含列名,则 Excel 行中的值的平均值

最佳牛围栏