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

如何在MySQL中平均日期?

祖翰音
2023-03-14
问题内容

如何在MySQL中的日期之间取平均值?我对时间值,小时和分钟更感兴趣。

在具有以下内容的桌子上:

| date_one   | datetime |
| date_two   | datetime |

进行如下查询:

 SELECT AVG(date_one-date_two) FROM some_table WHERE some-restriction-applies;

编辑:

AVG(date1-date2)作品,但我不知道它是什么返回数据。


问题答案:

这似乎有点骇人听闻,但适用于1970年〜1970年和2030年之间的日期(在32位元弓上)。您实际上是在将日期时间值转换为整数,对其求平均,然后将平均值转换回日期时间值。

SELECT
    from_unixtime(
        avg(
            unix_timestamp(date_one)-unix_timestamp(date_two)
        )
    )
FROM
    some_table
WHERE
    some-restriction-applies

可能有更好的解决方案,但这会帮助您紧要关头。



 类似资料:
  • 问题内容: 我有下面的表格 我需要如下计算移动平均线 我尝试了什么 起初看起来很简单,但是当表上的数据膨胀时,它太慢了 有更快的方法吗? 问题答案: 您的查询是进行移动平均的一种方法: 替代方法是使用变量: 索引应进一步提高性能。

  • 问题内容: 有没有一种方法可以在oracle中平均多个日期?平均没有任何好处。 谢谢。 问题答案: “平均日期”的定义是主观的,但是您可以将日期转换为儒略数字,然后将其平均,四舍五入,然后转换回日期。

  • 问题内容: 我有一个带有日期列的5000条记录的表。 如何找到这些日期的平均值。我试过了,但是说 问题答案: 如果只想平均日期: 如果您想考虑时间: 参见小提琴进行测试。

  • 我有一个实体,它有一个表示上次活动的日期对象。我想查询一下平均空闲时间。因此在SQL中,类似于: 我试着这样算了一下差别: 我如何以日期/时间差(以秒为单位)来表示这个平均值?

  • 问题内容: 我的表每隔十分钟就有一次数据: 是否可以为MySQL制定一个SQL查询,每小时返回一系列平均值? 在这种情况下,它应该返回: 问题答案: 尚不清楚是否要在几天内汇总平均值。 如果您希望26号午夜与27号午夜的平均值不同,则可以修改Mabwi的查询: 请注意该子句中的其他内容。没有这个,查询将把从到的所有数据平均在一起,而不考虑它发生的日期。

  • 问题内容: 我需要做类似的事情: 除了,我还需要检索的前20个值的移动平均值。 首选标准SQL,但如有必要,我将使用MySQL扩展。 问题答案: 这只是我的头顶,而且我正要出门,所以未经测试。我也无法想象它会在任何种类的大数据集上表现出色。我确实确认它至少可以正常运行。:)