【问题标题】:Get 24 hour average by time of day按一天中的时间获取 24 小时平均值
【发布时间】:2020-04-13 22:45:25
【问题描述】:

我有一个简单的表,其中包含 DateTime“PostDate”和十进制“NumericValue”。'

每一行都有一个带有秒数的时间戳。

如果我做一个标准的 1440 分钟平均值,我会在每天的午夜得到平均值。我想在一个日期范围之间的早上 7 点获得 24 小时的平均值。喜欢 2020 年 1 月 1 日 07:00:00 - 2020 年 3 月 1 日 07:00:00

【问题讨论】:

  • 请向我们展示一些示例数据、您的预期结果和您的尝试。
  • 我注意到您尚未“接受”任何问题的答案。接受答案或解释为什么提供的答案没有给您所需的答案是网站礼仪。我建议您重新访问之前的问题并“接受”一个答案,否则您会开始显得忘恩负义。
  • 请将附加信息直接添加到问题中 (edit),而不是作为评论。

标签: sql sql-server tsql date group-by


【解决方案1】:

您可以将日期时间偏移 7 小时,然后聚合:

select
    cast(dateadd(hour, -7, postdate) as date) dy,
    avg(numericvalue) avg_value
from mytable
group by cast(dateadd(hour, -7, postdate) as date)

【讨论】:

  • 感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2021-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 2020-08-27
  • 1970-01-01
相关资源
最近更新 更多