小编典典

如何在MySQL中平均日期?

mysql

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

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

| date_one   | datetime |
| date_two   | datetime |

进行如下查询:

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

编辑:

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


阅读 835

收藏
2020-05-17

共1个答案

小编典典

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

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

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

2020-05-17