十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、UNION
10年积累的网站建设、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有三台免费网站建设让你可以放心的选择与我们合作。
2、若是innodb分表,则可以用merge处理。
直接搞一张专门针对统计数据用的汇总表
如果可能的话,不要采用分表的设计,采用表分区,这样就对于查询就不需要特殊处理了。规划好索引,性能应该不会有问题。
?php
$m = date('Y-m-d', mktime(0,0,0,date('m')-1,1,date('Y'))); //上个月的开始日期
echo $m."br";
$t = date('t',strtotime($m)); //上个月共多少天
echo $t."br";
$start = date('Y-m-d', mktime(0,0,0,date('m')-1,1,date('Y'))); //上个月的开始日期
$end = date('Y-m-d', mktime(0,0,0,date('m')-1,$t,date('Y'))); //上个月的结束日期
?
查询的时候就查询日期在$start到$end之间的数据就是上个月的数据了。
得到下个月的1号,然后减1,就是该月的最后一天啊,然后时间在该月1号和刚刚得到的时间戳之间就满足条件
先说原理,首先就是根据你表里面记录时间的字段的格式要方便些,还有你是一三十天为一个单位还是安装自然月为一个月。不论那种你也可以多种方式就是选择要显示的时间。那么就比较复杂,不过都大同小异。你可以可以用正则对时间进行处理,之后得到你的数据库表数据调用循环范围。然后对日期进行分类,之后每个分类里面的钱数进行相加。要做好也挺麻烦主要是要顾虑各种情况。不懂再问我把,就说这些了。
可按日期分组,如:
select count(1) from table_name group by date_format(date,'%y-%m-%d');
说明 : 统计每天数据量,table_name 表名 date 分组日期字段