如何在不包含最后一个值(sql)的情况下计算平均值?

侧身

我有桌子 我将其按ID划分,并希望计算当前值之前的平均值,而不包括当前值。这是一个示例表:

+----+-------+------------+
| id | Value |    Date    |
+----+-------+------------+
|  1 |    51 | 2020-11-26 |
|  1 |    45 | 2020-11-25 |
|  1 |    47 | 2020-11-24 |
|  2 |    32 | 2020-11-26 |
|  2 |    51 | 2020-11-25 |
|  2 |    45 | 2020-11-24 |
|  3 |    47 | 2020-11-26 |
|  3 |    32 | 2020-11-25 |
|  3 |    35 | 2020-11-24 |
+----+-------+------------+

在这种情况下,这意味着要计算2020-11-26之前日期的平均值。这是预期的结果

+----+-------+
| id | Value |
+----+-------+
|  1 |    46 |
|  2 |    48 |
|  3 |  33.5 |
+----+-------+

我已经使用进行了计算,ROWS N PRECEDING但是这种方式似乎可以平均N前+最后一行,并且我想排除最后一行(这是我的情况下最近的日期)。这是我的查询:

SELECT ID, 
  (avg(Value) OVER(
      PARTITION BY ID
      ORDER BY Date
      ROWS 9 PRECEDING )) as avg9
FROM t1
拉努

然后,使用以下内容从头到尾完整定义窗口BETWEEN

SELECT ID,
       (AVG(Value) OVER (PARTITION BY ID ORDER BY Date ROWS BETWEEN 9 PRECEDING AND 1 PRECEDING)) AS avg9
FROM t1;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在不知道平均值的情况下计算一个整数数组的标准偏差

如何在不导入外部模块(matplotlib除外)的情况下绘制运行平均值?

最多X个值的平均值,又取最后一个值的平均值?

如何计算包含空格的行中最后10个值的平均值

如何在不使用 group by 的情况下用平均值替换空值?

如何在不越界的情况下遍历向量的最后一个元素?

在Java中,我需要用户输入五个整数,然后显示平均值。如何在不键入第六项的情况下获得总和中包含的第五个整数?

如何在不包含另一个XML的情况下引用它?

如何在不删除行的情况下保留熊猫的最后一个值

如何在不知道前面重复次数的情况下计算同一样品重复实验的平均值?

如何在不按名称指定每一列的情况下确定 Kusto 表中列子集的每个平均值

在不考虑Shell脚本中缺少值的情况下计算平均值?

在不存储单个值的情况下计算平均值的方法

如何计算每行的平均值(不包括每行的第一个值)?

如何在不重新计算的情况下从类中的方法获取一个值?

如何在不插入任何数据的情况下获取php中的最后一个插入ID?

在某些情况下,同一列中的平均值(SQL Server)

如何在不保存迭代的最后一个值的情况下替换Python嵌套列表中的值

如何在没有保证观察数的情况下使用熊猫滚动平均值

给定一个包含日期和时间的POSIXct序列,如何仅计算时间平均值(不包括天)?

如何创建一个函数来计算和返回平均值、最大值和最小值?

如何在不枚举每个值的情况下从Ruby数组中选择第一个递增的值?

R中向量的最后一个值的指数移动平均值

创建一个包含5个随机采样观测值的平均值的数据框

如何从文本文件中读取值并计算一个值重复的次数,然后找到平均值?

如何创建一个查询来计算计算列的平均值

如何在kotlin中使用groupby arraylist获得最后5个值的平均值

如何计算python中包含浮动值的一串线的平均值

如何在不立即激活另一个功能的情况下从QComboBox存储和传递值?