Mysql 按另一列分组的列上的平均值

Mysql 按另一列分组的列上的平均值,mysql,sql,database,Mysql,Sql,Database,我有一个MySQL服务器,它的表myTable包含以下列: nid int(10) unsigned temperature float unsigned timestamp int(10) unsigned 这个表有大约300000条记录,并且每天都在增长。为了处理这些数据量,我想找到一些SQL查询,它们可以为我提供基于时间间隔的平均值,如“小时平均值”、“日平均值”等 有什么想法吗?我终于得到了答案。我要获得我可以使用的每日平均值:

我有一个MySQL服务器,它的表myTable包含以下列:

nid            int(10)   unsigned
temperature    float     unsigned
timestamp      int(10)   unsigned
这个表有大约300000条记录,并且每天都在增长。为了处理这些数据量,我想找到一些SQL查询,它们可以为我提供基于时间间隔的平均值,如“小时平均值”、“日平均值”等


有什么想法吗?

我终于得到了答案。我要获得我可以使用的每日平均值:

 SELECT DATE(FROM_UNIXTIME(timestamp)) AS Date, 
        AVG(temperature) AS AvgTemp
 FROM   `myTable`
 GROUP BY DATE(FROM_UNIXTIME(timestamp))
为了获得每小时平均值(每天),我使用:


groupby
和日期/时间函数。另外,请查看分区。
 SELECT DATE(FROM_UNIXTIME(timestamp)) AS Date,
        HOUR(FROM_UNIXTIME(timestamp)) AS Hour, 
        AVG(temperature) as AvgTemp
 FROM   `myTable`
 GROUP BY DATE(FROM_UNIXTIME(timestamp)),
          HOUR(FROM_UNIXTIME(timestamp))