2014-01-31 94 views
0

我正在PHP中开发一个应用程序。我使用MySql数据库。我想计算每小时日报每月平均日期两者之间。如何计算两个日期之间的每小时,每日,每月和每年的平均值?

我每小时平均查询

SELECT avg(value) 
FROM table_name 
WHERE (added_date BETWEEN '2014-01-29 00:00:00' AND '2014-01-31 00:00:00') 
GROUP BY DATE(added_date), HOUR(added_date) 
ORDER BY added_date ASC 

现在我想每天做同样的查询计算,每月和每年的平均水平。 请建议解决方案。谢谢

+0

哦,考虑提供适当的DDL(和/或我是sqlfiddle)与期望的结果集 – Strawberry

回答

1

你只是指这样的事吗?

每小时平均

SELECT DATE(added_date), HOUR(added_date) , avg(value) 
FROM table_name 
WHERE (added_date BETWEEN '2013-01-29 00:00:00' AND '2014-01-31 00:00:00') 
GROUP BY DATE(added_date), HOUR(added_date) 
ORDER BY added_date ASC 

日均

SELECT DATE(added_date) , avg(value) 
FROM table_name 
WHERE (added_date BETWEEN '2013-01-29 00:00:00' AND '2014-01-31 00:00:00') 
GROUP BY DATE(added_date) 
ORDER BY added_date ASC 

月平均

SELECT YEAR(added_date), MONTH(added_date), avg(value) 
FROM table_name 
WHERE (added_date BETWEEN '2013-01-29 00:00:00' AND '2014-01-31 00:00:00') 
GROUP BY YEAR(added_date), MONTH(added_date) 
ORDER BY added_date ASC 

年平均

SELECT YEAR(added_date), avg(value) 
FROM table_name 
WHERE (added_date BETWEEN '2013-01-29 00:00:00' AND '2014-01-31 00:00:00') 
GROUP BY YEAR(added_date) 
ORDER BY added_date ASC 
相关问题