什么是 SQL 查询以 5 分钟间隔选择数据和数据条目的 AVG
Posted
技术标签:
【中文标题】什么是 SQL 查询以 5 分钟间隔选择数据和数据条目的 AVG【英文标题】:What is SQL query to select data and AVG of data entries with 5 min intervals 【发布时间】:2020-04-21 19:02:25 【问题描述】:我有 18 个电能表读取器,每 5 分钟将数据发送到 SQL Server 数据库。
在此之后,我提取该数据并将其绘制到图表上。问题是图上的线不平滑,看起来是这样的:
我不想每 5 分钟看到一次波纹线,而是想对所有 18 个读数进行平均,并在那时提供一个 AVG 数字。所以我的问题是,我应该使用什么 SQL 查询来选择所有数据,以 5 分钟的间隔对其进行平均并为图表做准备?
这是数据库示例:
【问题讨论】:
数据库中的数据是如何组织的?可以添加几行示例数据吗? 分享该信息的最佳方式是什么?它不允许我在此处添加屏幕截图,并且没有提供足够的字符来容纳数据样本? 你可以试试dbfiddle.uk 我已将数据库中的屏幕截图添加到问题中。请看上面 【参考方案1】:我将每个时间戳四舍五入到最接近的分钟,但应该这样做。
SELECT
dateadd(mi, datediff(mi, 0, DoD), 0) as TimeStamp
, AVG(T_Energy_A) as AverageEnergy
FROM energyReadingsTable
GROUP BY dateadd(mi, datediff(mi, 0, DoD), 0)
【讨论】:
啊哈哈它成功了。这正是我所需要的!非常感谢你!因为这是我第一次使用数据库和创建网页,如果你节省了我很多时间:) 再次感谢!以上是关于什么是 SQL 查询以 5 分钟间隔选择数据和数据条目的 AVG的主要内容,如果未能解决你的问题,请参考以下文章
SQL语句问题,查询时间字段与上条数据间隔小于10分钟的数据