葬空吟 2022-09-14 10:35 采纳率: 61.2%
浏览 45
已结题

MySQL查询并计算指定日期范围内按照条件调整开窗函数的范围

数据库:MySQL
需求:查询并计算指定日期范围内的单日每个模式的近7天的总和
解释:数据查询日期例如为 2022-09-01 至 2022-09-14 ,查询后日期为2022-09-14的 模式 字段的值是2022-09-14到2022-09-08 模式字段值的总和
我想到了用 over(partition by) 函数,但是不知道应该怎样添加where条件 ,条件是:获取这条数据的sum(模式一),并且sum的日期是从这条数据近7天的总和

SELECT 检测日期, 工厂, 车间,  型号, 工序, 分类, 工位, 设备编号, 要素名称, 模式二数据值, 模式三数据值, 模式一数据值, 
sum(模式一) over(partition by 工厂, 车间, 型号, 要素名称 order by 模式一 desc) summodel1,    // where DATE_SUB(检测日期, INTERVAL 7 DAY) <= date(检测日期)
sum(模式二) over(partition by 工厂, 车间, 型号, 要素名称 order by 模式二 desc) summodel2,    
sum(模式三) over(partition by 工厂, 车间, 型号, 要素名称 order by 模式三 desc) summodel3,
sum(状态) over(partition by DATE_SUB(检测日期, INTERVAL 7 DAY) <= date(检测日期),工厂, 车间, 型号, 要素名称 order by 状态 desc) 状态1
FROM  tableA
where (检测日期 BETWEEN DATE_SUB('2022-09-07', INTERVAL 7 DAY) and '2022-09-14')
GROUP BY
检测日期,工厂, 车间, 型号, 要素名称
  • 写回答

1条回答 默认 最新

报告相同问题?

问题事件

  • 系统已结题 10月29日
  • 已采纳回答 10月21日
  • 修改了问题 9月14日
  • 创建了问题 9月14日

悬赏问题

  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探