我有跨越多个月的数据,我希望能够将每天的平均值分成适当的月份。例如,假设一个数据点是2010年2月9日 - 2010年3月8日,数量是1500.那么,查询应该返回2010年2月的1071.4和3月的428.6。我希望有一个MySQL语句能够完成计算,而不是我的PHP逻辑。谢谢。如果月度数据跨越一个月以上,MySQL如何计算每月平均值?
编辑(添加表定义): 开始(日期时间),端部(日期时间),使用
编辑2:下面是一些伪数据
DROP TABLE IF EXISTS `dummy_data`;
CREATE TABLE `dummy_data` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`start_date` date NOT NULL,
`end_date` date NOT NULL,
`data` double(15,4) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;
-- ----------------------------
-- Records of `dummy_data`
-- ----------------------------
BEGIN;
INSERT INTO `dummy_data` VALUES ('1', '2010-01-01', '2010-02-02', '200.0000'), ('2', '2010-02-03', '2010-02-25', '250.0000'), ('3', '2010-02-26', '2010-03-08', '300.0000'), ('4', '2010-03-09', '2010-04-12', '210.0000'), ('5', '2010-04-13', '2010-05-10', '260.0000'), ('6', '2010-05-11', '2010-06-15', '310.0000'), ('7', '2010-06-16', '2010-07-20', '320.0000');
COMMIT;
你能发表表格定义的相关部分吗? – 2010-08-05 19:11:17