【问题标题】:weekly averaged pressure data for the reclaim water system for 1 year再生水系统 1 年的每周平均压力数据
【发布时间】:2021-05-03 15:17:28
【问题描述】:

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

查询:

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

查询结果:

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

我将查询更改如下:

DATEADD(day, -(DATEPART(dw, GETDATE()) - 1), getdate()-1) AS WeekStart DATEADD(day, 7 - (DATEPART(dw, GETDATE())), getdate()) As WeekEnd

得到以下结果,你可以看到我很接近但日期都一样,我如何让 dateadd 函数读取 {week} 列?

'[latest results][3]

【问题讨论】:

  • 您的预期结果中,一个月中的随机天数来自哪里?查询应该如何知道 2021 年第 1 个月第 1 周实际上应该从 2020 年 12 月 27 日开始?
  • 请不要使用图像作为数据 - 使用格式化文本。
  • 格式化文本?
  • 查询将开始和结束日期定义为 "(DateTime = CONVERT(DATETIME, '2020-01-01 00:00:00', 102)) AND (DateTime

标签: sql-server database dateadd


【解决方案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],
             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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-07
      • 2016-05-26
      • 2021-10-11
      相关资源
      最近更新 更多