当前位置: 首页 > 面试题库 >

如何在MySQL中生成一系列每小时平均值?

姚树
2023-03-14
问题内容

我的表每隔十分钟就有一次数据:

2009-01-26 00:00:00      12
2009-01-26 00:10:00      1.1
2009-01-26 00:20:00      11
2009-01-26 00:30:00      0
2009-01-26 00:40:00      5
2009-01-26 00:50:00      3.4
2009-01-26 01:00:00      7
2009-01-26 01:10:00      7
2009-01-26 01:20:00      7.2
2009-01-26 01:30:00      3
2009-01-26 01:40:00      25
2009-01-26 01:50:00      4
2009-01-26 02:00:00      3
2009-01-26 02:10:00      4
etc.

是否可以为MySQL制定一个SQL查询,每小时返回一系列平均值?

在这种情况下,它应该返回:

5.42
8.87
etc.

问题答案:

尚不清楚是否要在几天内汇总平均值。

如果您希望26号午夜与27号午夜的平均值不同,则可以修改Mabwi的查询:

SELECT AVG( value ) , thetime
FROM hourly_averages
GROUP BY DATE( thetime ), HOUR( thetime )

请注意DATE()GROUP BY子句中的其他内容。没有这个,查询将把从00:00到的所有数据平均在一起,00:59而不考虑它发生的日期。



 类似资料:
  • 问题内容: 我在SQLite中有一个名为param_vals_breaches的表,如下所示: 我想编写一个查询,以小时为基础,向我显示一个特定的队列(例如“ a ”),每个队列的平均 参数 为 param_val 和 违规 数。因此,转置数据以获得如下所示的内容: 这可能吗?我不确定该怎么做。谢谢! 问题答案: SQLite没有PIVOT函数,但是您可以将聚合函数与表达式结合使用,以将行变成列:

  • 问题内容: 如何从MySQL查询生成一系列连续数字(每行一个),以便可以将它们插入表中? 例如: 我只想为此使用MySQL(不使用PHP或其他语言)。 问题答案: 如果您需要表中的记录,并且希望避免并发问题,请按照以下方法操作。 首先,您创建一个用于存储记录的表 其次,创建一个存储过程,如下所示: 最后调用SP: 结果

  • 问题内容: 如何在MySQL中的日期之间取平均值?我对时间值,小时和分钟更感兴趣。 在具有以下内容的桌子上: 进行如下查询: 编辑: 的作品,但我不知道它是什么返回数据。 问题答案: 这似乎有点骇人听闻,但适用于1970年〜1970年和2030年之间的日期(在32位元弓上)。您实际上是在将日期时间值转换为整数,对其求平均,然后将平均值转换回日期时间值。 可能有更好的解决方案,但这会帮助您紧要关头。

  • 问题内容: 在PostgreSQL中,是否可以生成一系列重复数字?例如,我要生成数字1到10,每个数字重复3次: 问题答案: 您可以将其交叉加入一系列3:

  • 我正在使用SQL Server,数据库中有下表: 到目前为止我尝试了什么(错误的,因为它不计算每个组的平均值,而是计算所有列的总平均值):

  • 问题内容: 我正在使用PHP和MySQL编写脚本,并且想要获得一个唯一的ID(由字符串组成:大写字母和带数字的小写字母),例如:。我在PHP中发现了许多可以生成此类数字的函数,但我担心如何确保id唯一! 更新 :uuid很长,我的意思是这样的ID:(P5Dc)一个11个字母数字的字符。 问题答案: 一个 编程的方式 可以是: 在字段中添加一个唯一索引 在PHP中生成随机字符串 在PHP中循环(wh