如何统计每个日期的历史总数据,急!!? 400 报错
如何统计每个日期的历史总数据,我的表是这样的:
id profit(利润) month(月) date(日)
1 180 2 8
2 220 2 10
3 98 2 16
4 100 3 2
5 600 4 8
假如2月10号,就统计180+220得出400, 3月2号就统计180+220+98+100得出598,请问各位大侠,如何用mysql语句一次性查出每个日期下的历史总利润,是历史总利润,也就是该日期前面的利润总和(比如2月16号,就统计2月8号--2月16号的利润总和;4月8号,就统计2月8号--4月8号的利润总和)?这个问题困扰了很久,求各位打救打救!!!
3.2
select sum(profit) from t where month<3 or (month=3 and date<=2)
######你的表结构有问题。 月、日 不能分开保存,你的表中必须有一个日期字段,yyyyMMdd,这样就可以统计了
######----------------表结构、数据初始化
CREATE TABLE `test123` (
`id` int(11) NOT NULL,) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `test123` VALUES ('1', '180', '2014-02-08');
INSERT INTO `test123` VALUES ('2', '220', '2014-02-10');
INSERT INTO `test123` VALUES ('3', '98', '2014-02-16');
INSERT INTO `test123` VALUES ('4', '100', '2014-03-02');
INSERT INTO `test123` VALUES ('5', '600', '2014-04-08');
-------------------- 查询sql
select t.pdate, (select sum(tt.profit) from test123 tt where tt.pdate <= t.pdate)
from test123 t;
没有‘年’字段啊,这样不好弄,建议时间存一个字段
######窗口函数松松搞定,可惜LZ用的是MYSQL,这货不支持,太监的数据库
######mysql group by rollup with !!!
http://blog.csdn.net/lxz3000/article/details/6174678
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。