开发者社区> 问答> 正文

怎么计算滑动平均值

在mysql中有一个DataTime的timestamp列,还有个rtd的列存储的是float类型数据
DataTime每小时有一条,我需要计算每个小时的24个小时滑动平均值,比如
2号0点的数据是 1号1点到2号0点的24条数据做平均
2号1点的数据是 1号2点到2号1点的24条数据做平均
····
以此类推
有办法用一条语句来实现么?
我只知道用循环取24次肯定是可以实现,有办法用一条SQL实现么?

展开
收起
蛮大人123 2016-02-11 14:01:13 6088 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    数据库设计中的第一范式:如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。你这个模型中数据跟当前时间存在关联,显然不符合第一范式,不建议存在数据库里面.建议写到 Memcache 里面,然后使用 Cron job 来更新数值.
    如果一定要用数据库来实现,也可以不用循环来求平均值的.
    9
    取出来的就是 2013-12-02 02:00:00 过去 24 小时的平均值.

    2019-07-17 18:40:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载