微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

再生水系统 1 年的每周平均压力数据

如何解决再生水系统 1 年的每周平均压力数据

我构建了以下查询并提供了所需的数据,但我不知道如何在查询中创建“开始周日期和结束周日期;下面是现有查询图片,下面是数据集和底部是我希望结果的样子?..... 任何帮助将不胜感激。

查询

SELECT TOP (100) MONTH(DateTime) AS Month,{ fn WEEK(DateTime) } AS week,AVG(CASE WHEN TagName = 'RCW_TierraV.Pressure_In' THEN [Value] END) AS [Tierra Verde Avg]
  FROM dbo.v_AnalogHistory
 WHERE (wwResolution = 60000) AND 
       (TagName = N'RCW_TierraV.Pressure_In') AND 
       (DateTime = CONVERT(DATETIME,'2020-01-01 00:00:00',102)) AND 
       (DateTime <= CONVERT(DATETIME,'2020-03-31 00:00:00',102))
  GROUP BY { fn WEEK(DateTime) },MONTH(DateTime)
  ORDER BY Month,week

查询结果:

query results

我希望最终报告如下所示:

final report

我将查询更改如下:

DATEADD(day,-(DATEPART(dw,GETDATE()) - 1),getdate()-1) AS WeekStart DATEADD(day,7 - (DATEPART(dw,GETDATE())),getdate()) 作为周末

并得到以下结果,如您所见,我很接近但日期都相同,我如何让 dateadd 函数读取 {week} 列?

'[latest results][3]

解决方法

尝试这样的事情:

SELECT TOP (100) MONTH(DateTime) AS Month,{ fn WEEK(DateTime) } AS week,AVG(CASE WHEN TagName = 'RCW_TierraV.Pressure_In' THEN [Value] END) AS [Tierra Verde Avg],DATEADD(day,-(DATEPART(dw,DateTime) - 1),DateTime) AS WeekStart
             DATEADD(day,7 - (DATEPART(dw,DateTime)),DateTime) As WeekEnd
  FROM dbo.v_AnalogHistory
 WHERE (wwResolution = 60000) AND 
   (TagName = N'RCW_TierraV.Pressure_In') AND 
   (DateTime = CONVERT(DATETIME,'2020-01-01 00:00:00',102)) AND 
   (DateTime <= CONVERT(DATETIME,'2020-03-31 00:00:00',102))
  GROUP BY { fn WEEK(DateTime) },MONTH(DateTime)
  ORDER BY Month,week
,

我终于搞定了,谢谢你的帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。