【问题标题】:Calculating moving averages between date x and date y计算日期 x 和日期 y 之间的移动平均值
【发布时间】:2016-09-22 22:15:43
【问题描述】:

我正在尝试在我的 sql 脚本中计算移动平均线。这是一个移动平均线,因为用户提供了一个日期范围。例如,

Select a.hospital, avg(a.count) as 'Averages', a.date
from Records as a
group by a.hospital, a.date
having a.date >= @StartDate and a.date <=@EndDate

那么在 SSRS 图表中,我如何在条形之间创建一条直线(每个条形代表计数)以简单地显示两个日期之间所有医院的平均值?

或者在我的查询中,如何包含平均计算?我想如果你只做 avg(a.counts),那么日期 x 和日期 y 的平均值是多少?

假设用户希望查看 2015 年 10 月 19 日至 2015 年 11 月 30 日期间每家医院的平均人数。我将如何让它在两个日期之间的平均图表上显示一条直线?

谢谢

【问题讨论】:

  • 您使用的是哪个 DBMS?
  • 我想我正在关注,但 a_horse_with_no_name 建议您应该使用数据库 sql-server、mysql 等进行标记并期望我们重新键入以轻松创建 DML 语句或至少以表格格式发布。还包括您想要的结果,它们确实可以帮助我们理解您在说什么,并且可以帮助弥补叙述中的不足!
  • 另外,您是说您只想要该日期范围的平均值,但仍想要所有结果?有趣的是,除了您的示例数据中的一家医院之外,每家医院都只是其自己的计数......所以我建议您确保包含涵盖您的问题的测试用例!
  • 我已对我的查询进行了更改。是不是还是太混乱了?抱歉我第一次发帖。

标签: sql sql-server sql-server-2012 moving-average


【解决方案1】:

如果您想获得某个日期范围内医院的平均计数,请更改您的脚本,如下所示。

    Select a.hospital, avg(a.count) as 'Averages'
    from Records as a
    Where a.date >= @StartDate and a.date <=@EndDate
    group by a.hospital

【讨论】:

  • 我仍然希望图表将日期显示为图表上 x 轴上的列。选择中没有日期,如何显示?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-25
  • 1970-01-01
  • 2021-01-16
  • 2019-07-12
  • 1970-01-01
  • 1970-01-01
  • 2013-09-22
相关资源
最近更新 更多