Php MySQL按小时分组数据以获得平均值

Php MySQL按小时分组数据以获得平均值,php,mysql,Php,Mysql,我需要每小时的AVG数据 例如,09.05.11 11.00的平均数据从(09.05.11 10.10到09.05.11.00)计算得出 12.00from11.10-12.00等等 我该怎么做呢?试试看 .... 09.05.11 12:10 | 14,5 09.05.11 12:00 | 19,5 09.05.11 11:50 | 13,9 09.05.11 11:40 | 15,4 09.05.11 11:30 | 15,6 09.05

我需要每小时的
AVG
数据

例如,
09.05.11 11.00
的平均数据从(
09.05.11 10.10
09.05.11.00
)计算得出

12.00
from
11.10-12.00
等等

我该怎么做呢?

试试看

....  
09.05.11 12:10 |    14,5  
09.05.11 12:00 |    19,5  
09.05.11 11:50 |    13,9  
09.05.11 11:40 |    15,4  
09.05.11 11:30 |    15,6  
09.05.11 11:20 |    14,3  
09.05.11 11:10 |    16,7  
09.05.11 11:00 |    19,3  
09.05.11 10:50 |    12,6  
09.05.11 10:40 |    10,8  
09.05.11 10:30 |    10,5  
09.05.11 10:20 |    15,6  
09.05.11 10:10 |    14,9  
09.05.11 09:00 |    10,1  
09.05.11 09:50 |    10,7  
....  
工作示例 然后我执行每小时一次的访问

CREATE TABLE IF NOT EXISTS `time_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `waqt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `visit` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;

--
-- Dumping data for table `time_table`
--

INSERT INTO `time_table` (`id`, `waqt`, `visit`) VALUES
(1, '2011-07-28 13:29:04', 3),
(2, '2011-07-28 15:29:10', 4),
(3, '2011-07-28 13:45:35', 7),
(4, '2011-07-28 15:00:47', 5),
(5, '2011-07-28 14:45:03', 6),
(6, '2011-07-28 13:00:21', 3);

请您提供用于生成该数据的
SELECT
查询的详细信息以及表结构。仅供参考,11:00分组会更容易,就像
11:00-11:59
那样有效吗?还是必须按照您描述的方式分组?11:00-11:59分组数据很容易,普通分组也可以,但我需要11:10-12:00分组。我不能以任何方式更改输入日期。您不应该在11:10-12:09之前分组吗?这样做还是很容易的:只需按时间减去10分钟分组。参考文档了解更多信息。我也刚刚发现:)该死的很简单,为什么我以前不这么想呢。谢谢各位。
CREATE TABLE IF NOT EXISTS `time_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `waqt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `visit` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;

--
-- Dumping data for table `time_table`
--

INSERT INTO `time_table` (`id`, `waqt`, `visit`) VALUES
(1, '2011-07-28 13:29:04', 3),
(2, '2011-07-28 15:29:10', 4),
(3, '2011-07-28 13:45:35', 7),
(4, '2011-07-28 15:00:47', 5),
(5, '2011-07-28 14:45:03', 6),
(6, '2011-07-28 13:00:21', 3);
  SELECT AVG(visit), HOUR(waqt) 
  FROM time_table    
  WHERE DATE_SUB(`waqt`,INTERVAL 1 HOUR) GROUP BY HOUR(waqt)