mysql查询1小时选择

2w2cym1i  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(260)

我想选择1小时平均1分钟的数据。
(例如)

id |          time          | value
 1 |  2018-05-16 13:45:59   |   3
 1 |  2018-05-16 14:25:39   |   4
 1 |  2018-05-16 14:55:39   |   6
 1 |  2018-05-16 15:35:19   |   1

我要看风景

id |          time          | value
 1 |  2018-05-16 13:00:00   |   3
 1 |  2018-05-16 14:00:00   |   5
 1 |  2018-05-16 15:00:00   |   1

我该怎么办?

u7up0aaq

u7up0aaq1#

我们可以用 Date_format() 函数将mysql日期时间转换为不同的指定格式。
我们可以使用 %Y-%m-%d %H:00:00 .
现在,我们只需要 Group By 并使用 Avg() 函数计算平均值。
尝试:

SELECT 
  id, 
  DATE_FORMAT(time, "%Y-%m-%d %H:00:00") AS hour_time
  AVG(value) 
FROM your_table 
GROUP BY id, hour_time

其他详细信息: %Y 年份,数字,四位数 %m 月份,数字(00..12) %d 月日,数字(00..31) %H 小时(00..23)
有关各种可用格式说明符的完整列表,请参见:https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_date-格式

6vl6ewon

6vl6ewon2#

select id, 
       DATE_FORMAT(created_at, "%M %d %Y %H:00:00") time, 
       avg(value) value 
from table 
group by DATE_FORMAT(created_at, "%M %d %Y %H:00:00")

相关问题