簡體   English   中英

1小時內選擇MySQL查詢

[英]MySQL query in 1 hour select

我想用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

我該怎么辦?

  • 我們可以使用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-format

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")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM