2015-12-01 63 views
0

每分鐘我都在我的數據庫中有一個值。每條記錄都有一個時間戳和一個值。 "30695","2015-09-06 18:10:09","693" 我想獲得每週每天的每分鐘平均值,但我不確定如何爲此建立查詢。由SQL組成的雙週組和小時/分鐘

我的想法是,我首先需要將所有記錄按DATEPART(weekday,[time])進行分組,這些記錄會將我的所有數據存入星期日,星期一,星期二等。接下來,我將按分組進行四捨五入。 (所以2015/11/30 06:41:將分組2015/11/23 06:41:(兩個日期都是星期一))。然後,取每分鐘的平均值 - 7 * 24 * 60 = 10,080個總值。

回答

1

有mysql中沒有DATEPART()函數,但可以使用dayofweek()得到一週的一天,minute()拿到分鐘部分:

select dayofweek(timestamp) as day, minute(timestamp) as minute, avg(value_field) as average 
from table 
group by dayofweek(timestamp), minute(timestamp); 
0

得到它的工作,改編自陰影的回答,這是不正確的。這是我的查詢(MySQL 5.5) SELECT weekday(timestamp) as day_of_week, avg(avg) as average, DATE_FORMAT(timestamp,'%H:%i') as hour_time FROM audio GOUP BY hour_time, day_of_week ORDER BY `day_of_week` ASC