甲骨文移动平均线

2024-03-13

我有一个表(日期、有效负载),其中包含大约 10 年的数据,我想计算移动平均值 (MA),以基于 14 天(2 周)和 90 天(12 周)间隔显示有效负载的趋势

我已经编写了这个查询,但它给了我错误的值

SELECT x.*,
  ABS (LTMA-STMA) DIFFERECNE
FROM
  (SELECT SDATE,
    PAYLOAD,
    AVG(PAYLOAD) OVER (ORDER BY W ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) STMA,
    AVG(PAYLOAD) OVER (ORDER BY W ROWS BETWEEN 12 PRECEDING AND CURRENT ROW) LTMA
  FROM
(SELECT b.*,
  TO_NUMBER(TO_CHAR( X.SDATE, 'W')) W
FROM
  (SELECT TO_DATE(TO_CHAR(a.SDATE, 'YYYY-MM-DD'), 'YYYY-MM-DD') SDATE,
    SUM(a.PAYLOAD) PAYLOAD
  FROM TABLE_PAYLOAD a
  WHERE a.SDATE  > sysdate - 3 * 365      
  GROUP BY TO_CHAR(a.SDATE, 'YYYY-MM-DD')
  ORDER BY TO_CHAR(a.SDATE, 'YYYY-MM-DD')
  ) b    )
 ORDER BY SDATE
 ) x;

其实我知道什么MA是的,但我不明白Oracle是如何工作的!

我可以计算MA在 Excel 中,但我需要在数据库级别执行此操作,您能告诉我如何执行此操作吗?


我不明白使用的意义是什么TO_CHAR(SDATE, 'W')?根据文档,这应该为您提供该月的周数......

无论如何,我尝试简化查询,希望它仍然满足您的需求:

SELECT x.*, ABS (LTMA-STMA) DIFFERENCE
FROM
(
  SELECT SDATE, PAYLOAD,
         AVG(PAYLOAD) OVER (ORDER BY SDATE rows BETWEEN 14 PRECEDING AND CURRENT ROW) STMA,
         AVG(PAYLOAD) OVER (ORDER BY SDATE rows BETWEEN 90 PRECEDING AND CURRENT ROW) LTMA
  FROM
  (
    SELECT a.SDATE, SUM(a.PAYLOAD) PAYLOAD
    FROM TABLE_PAYLOAD a
    WHERE a.SDATE  > sysdate - 3 * 365      
    GROUP BY a.SDATE
  )
) x
ORDER BY SDATE;

PS:我也不认为这样做有什么意义TO_DATE(TO_CHAR(a.SDATE, 'YYYY-MM-DD'), 'YYYY-MM-DD'),这相当于a.SDATE...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

甲骨文移动平均线 的相关文章

  • SQL Server - 在设置 COLLATE Latin1_General_CS_AS 的情况下搜索不区分大小写

    家长提问 https stackoverflow com questions 50974562 sql server update to match and replace only exact words感谢 Iamdave 部分问题得到
  • SQL查询:按字符长度排序?

    是否可以按字符总数对sql数据行进行排序 e g SELECT FROM database ORDER BY data length 我想你想用这个 http dev mysql com doc refman 5 0 en string f
  • 如何在 where 子句中使用别名? [复制]

    这个问题在这里已经有答案了 可能的重复 在 WHERE 子句中引用列别名 https stackoverflow com questions 8370114 referring to a column alias in a where cl
  • SQL:使用相等的键和最近的键进行连接(类似于 Pandas 的合并)

    例如 我有2个这样的表 对于表 1 中的每一行 我想获取该行 same customer id and nearest date 就我而言 table2 date lt table1 date 结果应该是这样的 我怎样才能在 SQL 中做到
  • 在调用存储过程 Sql Server 2008 时使用嵌套存储过程结果

    是否可以在另一个存储过程中使用一个存储过程的结果 I e CREATE PROCEDURE dbo Proc1 ID INT mfgID INT DealerID INT AS BEGIN DECLARE Proc1Result UserD
  • SQL日期格式转换? [dd.mm.yy 至 YYYY-MM-DD]

    是否有 mySQL 函数可以将日期从 dd mm yy 格式转换为 YYYY MM DD 例如 03 09 13 gt 2013 09 03 由于您的输入是表单中的字符串03 09 13 我假设 因为今天是 2013 年 9 月 3 日 d
  • 在触发器中记录更新操作

    我有一个 UPDATE 触发器 它生成 INSERTED 和 DELETED 表 如下所示 INSERTED Id Name Surname 1 Stack Overflow 2 Luigi Saggese DELETED Id Name
  • SQL,帮助进行有关用户年龄的小查询

    我有一个包含注册用户的表 其中我将年份保存为 varchar 值 只是因为我只花了一年 我想创建包含年龄的饼图 以显示哪些用户更有可能注册 下面的查询给出了表中出现超过 5 次的用户年龄计数 以避免结果过小 虽然这些小结果低于 having
  • Oracle中如何转义单引号? [复制]

    这个问题在这里已经有答案了 我有一列包含某些存储为文本字符串的表达式 其中包括单个引号 例如 错过的交易 包括引号 发生这种情况时如何使用 where 子句 select from table where reason missed tra
  • 寻找多列索引的最佳顺序

    假设我有一个包含两个索引的表 一个位于 a 列 一个位于 a b 和 c 列 我注意到 根据索引定义中列的顺序 MySQL 可能最终使用单列索引而不是多列索引 即使多列索引中的所有三列都在 ON 中引用JOIN 的一部分 这有点引出了一个问
  • 想要从字符格式转换为带小数的数字格式

    想要将字符格式 00001000000 转换为10000 00 请帮我 我已经尝试过 select to number 00012300 9999999999 99 nls numeric characters from dual 这个脚本
  • sqlite 插入需要很长时间

    我正在将不到 200 000 行插入到 sqlite 数据库表中 我只是在终端中通过 sqlite3 使用一个非常简单的 sql 文件 我打赌它已经运行了至少 30 分钟 这是正常现象还是我应该关闭该过程并尝试不同的方法 sqlite中的插
  • 如何终止正在运行的 SELECT 语句

    如何通过终止会话来停止正在运行的 SELECT 语句 该命令不断根据 SELECT 语句向我提供输出 我想在其间停止它 As you keep getting pages of results I m assuming you starte
  • 在tomcat中显示Spring-security的SQL错误

    我使用 spring security 框架创建了一个 Web 应用程序 我设置了一个数据库来存储用户及其角色 但 tomcat 给出以下错误 17 sep 2010 11 56 14 org springframework beans f
  • 从 ISO 周中提取日期 (201905) BigQuery

    我需要从 ISO 周数中提取星期日的日期 即 201905 它需要位于 standardSQL 中 因为它将使用不支持旧版本的脚本进行调度 我尝试从 Google Sheets 调整工作公式 但无法弄清楚 Google Sheets 的原始
  • 关系数据库和图数据库的比较

    有人可以向我解释一下 MySQL 等关系数据库与 Neo4j 等图形数据库相比的优缺点吗 在 SQL 中 您有多个表 它们之间有不同的 id 链接 然后你必须加入来连接表 从新手的角度来看 为什么要将数据库设计为需要联接 而不是像图形数据库
  • 为什么 Orchard 在执行内容项查询时如此慢?

    假设我想查询所有 Orchard 用户 ID 并且还想包括那些已被删除 也称为软删除 的用户 该数据库包含大约 1000 个用户 Option A 大约需要 2 分钟 Orchard ContentManagement IContentMa
  • 如何通过逗号分隔将 2 行合并为一行?

    我需要将这些单独的行合并到一列 我现在如何通过逗号分隔合并列 CID Flag Value 1 F 10 1 N 20 2 F 12 2 N 23 2 F 14 3 N 21 3 N
  • 在 C# 中多次使用单个参数的更好方法

    我刚开始使用准备好的语句从数据库查询数据 并且在实现 C 参数 特别是 OracleParameters 时遇到问题 假设我有以下 SQL string sql select from table1 t1 table2 t2 where t
  • 产品和变体 - 设计数据库的最佳方法

    描述 商店可以有产品 鞋子 T 恤等 每个产品可以有许多变体 每个变体可以有不同的价格和库存 例如T 恤有不同的颜色和尺寸 颜色 蓝色 尺寸 L 价格 10 美元 库存 5 颜色 蓝色 尺寸 XL 价格 10 美元 库存 10 颜色 白色

随机推荐

  • 贝塞尔曲线与线段的交点

    我正在用 Python 使用 pygame 编写一个游戏 它要求我为每个新游戏生成随机但美观的 海洋 经过长时间的搜索 我确定了一种涉及贝塞尔曲线的算法 如padlib py http www pygame org project Pyga
  • TypeScript 抱怨 array.map 不存在于 string[] 类型的数组上

    我有一个使用 TypeScript 的 Angular 2 项目 我不明白为什么 TypeScript 实时编译器会抱怨info map 错误消息 未解析的函数或方法 map 当我在浏览器中运行它时 工作得很好 但我不明白为什么会发生这种情
  • VBScript 函数的返回值

    我有两个函数 我试图在第二个函数中使用一个函数的结果 它将前往else部分 但它没有打印 cus number 的任何内容 如何打印 cus number Function getNumber number 423 End Function
  • Laravel 高级搜索查询修复

    我有一个带有多个输入和选择框的搜索表单 我需要帮助来获取查询中的 if 条件 以便每个部分同时单独工作 这是我的刀片代码
  • pymodbus TcpClient超时

    我遇到 pymodbus TcpClient 超时问题 import logging from pymodbus client sync import ModbusTcpClient logging basicConfig log logg
  • SwiftUI macOS 命令(菜单栏)和视图

    大家好 我开始学习 SwiftUI 和 macOS 开发 我正在使用 SwiftUI 生命周期 如何从菜单栏的聚焦窗口调用函数 除了Apple文档之外 我还发现这个参考 https swiftwithmajid com 2020 11 24
  • 使用Intent发送数据

    如何使用 Intent 将数据 例如字符串 从活动 A 发送到活动 B 而无需离开活动 A 我还需要知道如何捕获活动 B 中的数据并将其添加到文本视图中 您正在寻找的是广播接收器 我应该发送广播的活动 public class Activi
  • 如何在R中提取具有相同名称但不同标识符的列

    抱歉 如果它太基础了 但我对 R 不熟悉 我有一个数据框 其中多个列具有相同的列名 因此在导入到 R 后 已添加标识符 像这样的事情 A c 2 3 5 A 1 c aa bb cc A 2 c TRUE FALSE TRUE B c 1
  • 在 python 中提取和解码字符串化字节字符串?

    我有这样的字符串 其中有一个字符串化的字节子字符串 如下所示 some string b Hurricane Mitch n 提取嵌套 b 字符串以便我可以用 utf8 正确解码它的最佳方法是什么 最直接的方法 仍然比您需要的更强大 但可能
  • 我的 .htaccess 文件无法正常工作

    我已将我的项目添加到免费托管 000webhost 上 我的所有文件都列在 public html 目录中 项目是在codeigniter中构建的 我在 public html htaccess 添加了 htaccess 文件 其中包含 O
  • C for 循环遍历带指针的数组

    我是 C 新手 但我有 Java 和 Android 经验 我的 for 循环有问题 它永远不会结束 只会继续下去 char entered string 50 char p string NULL gets entered string
  • Api-Platform:在 SF 4 中使用 Yaml 配置代替注释

    我想在 Api Platform 中使用 YAML 而不是注释 我没有使用 Api Platform 发行版 而是将 api pack 添加到了现有的 Symfony Flex 项目中 composer req api 文档说 YAML 文
  • “在我的机器上运行” - 如何修复不可重现的错误?

    偶尔 尽管进行了所有测试 我还是收到了客户的错误报告 而我根本无法在办公室重现该错误报告 Apologies to Jeff http www codinghorror com blog archives 000818 html for t
  • PHP 中如何处理并发请求(使用线程、线程池或子进程)

    据我所知 PHP 支持处理多个并发连接 并且根据服务器的不同 可以按照本中提到的方式进行配置answer https stackoverflow com a 1430890 2159867 服务器如何管理多个连接 是为每个请求分叉一个子进程
  • 从 jquery ajax GET 将多个参数传递给 .asmx

    html a fill in names and check it out a br p Enter First Name p
  • JPA 日期文字

    如何在不使用 类型化 参数的情况下表示 JPA 查询中的日期 如果日期确实是固定的 例如 1980 年 3 月 1 日 则代码 TypedQuery
  • 带编译时检查的 l18n 框架

    我目前正在开发一个更大的 Java 桌面应用程序 现在我想添加翻译 l18n 系统让我困扰的是 它不提供任何类型的编译时检查 在java的系统中 你有类似的东西HashMap 其中每个本地化字符串都有一个 Key 翻译后的字符串就是 Val
  • 快速调整每个故事板问题的大小

    我想知道是否有人可以告诉我如何编写此代码 以便它自动调整大小以适应不同的屏幕尺寸 我有 4 个屏幕尺寸不同的故事板 只是想要一种显示代码的方法 如果这个故事板那么 数字改变 遵循这个代码 否则 数字根据故事板大小而变化 这个代码 我已经尝试
  • Git 克隆错误“CONNECT 后来自代理的 HTTP 代码 504”

    我在公司防火墙后面的办公室工作 我的系统是Windows 7 使用consola组件 通常我需要设置代理连接才能让 GIT 与 github 一起工作 但是当我尝试克隆存储在私有 Stash Atlassian 中的存储库时 我收到此错误
  • 甲骨文移动平均线

    我有一个表 日期 有效负载 其中包含大约 10 年的数据 我想计算移动平均值 MA 以基于 14 天 2 周 和 90 天 12 周 间隔显示有效负载的趋势 我已经编写了这个查询 但它给了我错误的值 SELECT x ABS LTMA ST