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