做商品网站的教学视频,网站维护是不是很难做,wordpress调用二级分类目录,成都网站建设哪家专业而且比较便宜在互联网项目中#xff0c;对项目的数据分析必不可少。通常会统计某一段时间内每天数据总计变化趋势调整营销策略。下面来看以下案例。案例在电商平台中通常会有订单表#xff0c;记录所有订单信息。现在我们需要统计某个月份每天订单数及销售金额数据从而绘制出如下统计图对项目的数据分析必不可少。通常会统计某一段时间内每天数据总计变化趋势调整营销策略。下面来看以下案例。案例在电商平台中通常会有订单表记录所有订单信息。现在我们需要统计某个月份每天订单数及销售金额数据从而绘制出如下统计图进行数据分析。订单表数据结构如下order_idorder_sntotal_priceenterdate25396A4E610E250C2D378D7EC94179E14617F2306.002017-04-01 17:23:2625397EAD217C0533455EECDDE39659ABCDAE917.902017-04-01 22:15:1825398032E6941DAD44F29651B53C41F6B48A0163.032017-04-02 07:24:36此时查询某月各天下单数总金额应当如何做呢一般方法首先最容易想到的方法先利用 php 函数代码如下$month 04;$year 2017;$max_day cal_days_in_month(CAL_GREGORIAN, $month, $year); //当月最后一天//构造每天的数组$days_arr array();for($i1;$i$max_day;$i){array_push($days_arr, $i);}$return array();//查询foreach ($days_arr as $val){$min $year.-.$month.-.$val. 00:00:00;$max $year.-.$month.-.$val. 23:59:59;$sql select count(*) as total_num,sum(total_price) as amount from orders where enterdate {$min} and enterdate {$max};$return[] mysqli_query($sql);}return $return;这个sql简单但是每次需要进行30次查询请严重拖慢响应时间。优化如何使用一个sql直接查询出各天的数量总计呢此时需要利用 mysql 的 group by 分组统计。 代码如下$month 04;$year 2017;$max_day cal_days_in_month(CAL_GREGORIAN, $month, $year); //当月最后一天$min $year.-.$month.-01 00:00:00;$max $year.-.$month.-.$max_day. 23:59:59;$sql select t.enterdate,count(*) as total_num,sum(t.total_price) as amount (select date_format(enterdate,%e) as enterdate,total_price from orders where enterdate between {$min} and {$max}) t group by t.enterdate order by t.enterdate;$return mysqli_query($sql);如此将30次查询减少到1次响应时间会大大提高。注意1.由于需查询当月所有数据在数据量过大时不宜采取本方法。2.为避免当天没有数据而造成的数据缺失在查询后理应根据需求对数据进行处理。相关推荐