2016-03-03 195 views
2

我有一个SQLite数据库,我想从温度读数压缩一些数据。读数每分钟记录一次。 我都没有问题SQL查询来计算平均数据

"SELECT date(Time_T), AVG(reading) AS reading_avg, MIN(reading) AS reading_min, MAX(reading) AS reading_max FROM readings WHERE (Zeitpunkt_T > '2016-02-20') GROUP BY (SELECT date(Time_T))" 

这工作得很好,让我每天平均使用分钟&最大一起计算这个是每天的基础。但是这种压缩太多了。我希望每小时都有价值。我如何计算这个?

回答

4

我想有每小时

它看起来像你想组按小时值。

要在sqlite中获得数小时,请使用strftime函数并作为格式化程序传入%H

SELECT date(Time_T), AVG(reading) AS reading_avg, MIN(reading) AS reading_min, 
     MAX(reading) AS reading_max 
FROM readings 
WHERE (Zeitpunkt_T > '2016-02-20') 
GROUP BY strftime("%H", date); 

https://www.sqlite.org/lang_datefunc.html

+0

谢谢。这解决了我的问题。为了按小时对不同日期进行分组,我添加了“GROUP BY日期(Time_T),strftime(”%H“,Time_T);” – stacktiger