mysql 中average_mysql – 计算SQL中的移动平均值
我想从MySQL专栏计算12个月的移动平均线.数据代表时间序列功率测量,它是一个较大的数据集(几年内每10分钟一次).一个高性能的查询会很好,但速度是我以后可以解决的问题.
DTE Active
2012-1-3 00:10 500
2012-1-3 00:20 520
... etc
以下查询为我提供了每月的活动总数:
SELECT YEAR(DTE) AS year, MONTH(DTE) AS month, SUM(Active)/6 as total FROM saturne s GROUP BY YEAR(DTE), MONTH(DTE)
以下查询给出了给定月份和年份的移动平均值 – 例如2011年10月
SELECT SUM(Active)/6 AS average FROM saturne
WHERE (YEAR(DTE) = 2011 AND MONTH(DTE) <= 10) OR (YEAR(DTE) = 2010 AND MONTH(DTE) > 10)
但是,我想生成一个查询,该查询返回下一列中的每月总计和12个月移动平均值.
year month total average
2012 2 701474 9258089
2012 1 877535 9386664
... etc
(因子6是因为数据表示每10分钟记录一次的瞬时功率,将总数除以6给出总能量)
解决方法:
尝试:
SELECT YEAR(GDTE) AS year,
MONTH(GDTE) AS month,
SUM(case when i=0 then Active end)/6 as total,
SUM(Active)/(MAX(i+1)*6) as avg
FROM
(select s.*, DATE_ADD(DTE, INTERVAL m.i MONTH) GDTE, m.i
FROM saturne s
cross join (select 0 i union select 1 union select 2 union select 3 union
select 4 union select 5 union select 6 union select 7 union
select 8 union select 9 union select 10 union select 11) m
) sq
WHERE GDTE <= curdate()
GROUP BY YEAR(GDTE), MONTH(GDTE)
标签:sql,mysql
来源: https://codeday.me/bug/20190902/1790254.html
mysql 中average_mysql – 计算SQL中的移动平均值相关推荐
- mysql 列转行 unpivot_Spark SQL中列转行(UNPIVOT)的两种方法
行列之间的互相转换是ETL中的常见需求,在Spark SQL中,行转列有内建的PIVOT函数可用,没什么特别之处.而列转行要稍微麻烦点.本文整理了2种可行的列转行方法,供参考. 测试数据准备 本文的环 ...
- oracle同sql中isnull无法,SQL中的ISNULL函数使用介绍
这篇文章主要为大家详细介绍了SQL中的ISNULL函数使用介绍,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ISNULL 使用指定的替换值替换 ...
- C#EF中,使用类似于SQL中的% 模糊查询
最近在做项目的时候需要使用到模糊查询,但是后台使用EF写的 而不是ADO或者是Dapper,如果是这样的话,我们就可以使用Sql语句直接进行模糊查询 现在我们需要在LINQ中使用类似于模糊查询 在EF ...
- jsp未正确拼写字 mysql_jsp与mysql的汉字乱码SQL中无法使用汉字的问题
最近在使用java 和 mysql的开发,遇到要在 mysql数据库中使用 selec * from tableName where like table_title LIKE '%你好%'; 假设表 ...
- mysql union null_mysql – 删除SQL中的SQL JOIN和UNION操作符中的NULL值
[求助]如何仅在字段provider_order中删除NULL值,在我的情况下,表使用JOIN表和UNION 这是我的数据库模式和我的SQL查询 为了清楚地描述这里我附上图片 最佳答案 您不能仅删除行 ...
- 四步法分析定位生产环境下MySQL上千条SQL中的问题所在
第一步:通过以下两种方式之一来打开慢查询功能 (1)方式一:通过修改mysql的my.cnf文件 如果是5.0或5.1等版本需要增加以下选项: log-slow-queries="mysql ...
- python中怎么计算_python中的加减乘除运算
python中的加减乘除运算,是学习python入门的基础,是以后进行数学计算的关键部分.包括运算表达式的写法,运算规则,加减乘除,求余,求商等等. 工具/原料 python 电脑 方法/步骤 1 1 ...
- php中rowcount 意思,SQL中@@ROWCOUNT函数
返回受上一语句影响的行数.如果行数大于 20 亿,请使用 ROWCOUNT_BIG. 语法 @@ROWCOUNT 返回类型 int 注释 Transact-SQL 语句可以通过下列方 ...
- java 中时间计算_java中关于时间的计算
1.描述:在原有时间上增加一个时间差: 代码示例: Date psd = sysDate(); String workTimeP1 = mapP.get("WORK_TIME_") ...
最新文章
- 我们都是和自己赛跑的人
- Erlang与Java内存架构
- java打包成jar_把Java程序打包成jar文件包并执行的方法
- CWnd的派生类-1、CFrameWnd类
- java大数据开发是做什么的_3年Java开发转型大数据,如何跳出CRUD舒适区?
- c语言plc编程软件下载,罗克韦尔plc编程软件下载-2017罗克韦尔plc编程软件V21.00 官方最新版 - 极光下载站...
- 模糊规则优化matlab,遗传算法优化模糊pid控制规则
- 有限元法 matlab,MATLAB有限元分析与应用.pdf
- Win10家庭版使用gpedit.msc方法
- 《动手学深度学习》(PyTorch版)代码注释 - 47 【Image_augmentation】
- 用例图、类图、状态图、活动图、顺序图、协作图
- 自从用了这款黑科技工具,妈妈再也不用担心我的c盘文件爆满了
- 接入层交换机、汇聚层交换机和核心层交换机的区别
- Failed to initiate the GitHub login process. Please try again(1.1.25.1678)
- 问题:设计一个大学教师和学生管理程序, 教师包括 编号、姓名、职称和教研室 数据的输入输出; 大学生包括编号、姓名、性别、班号、英语、高等数学和数据结构三门课程成绩的输入输出和计算平均分; 研究生包
- C++无名命名空间详解
- 【项目】FT232RL设计记录
- SpringCloud Alibaba 实战之《限流与熔断:Sentinel 在项目中的最佳实践》
- 误判心理学常见心理倾向
- 生活明朗,万物可爱,人间值得,未来可期