统计,就是把基础的数据,整合起来。
用到sql的,有group by 功用,count功用,order by功用等等。
sql将网络的数据,举行统计分析。
平常情况下,sql处置惩罚后获得的数据,还要经由过程php的逻辑来举行整顿。
以肯定的花样,展现到前台。(引荐进修:PHP编程从入门到通晓)
平常都是以数组的体式格局展现,这也是数据构造的观点。
{上线数,出单总数,核过总数,总人均,总核率,{(坐席人1,工号1,出单数1,发货数1,核单率1),(坐席人2,工号2,出单数2,发货数2,核单率2)}}
假如用php展现成上面的构造的话,就很优点置惩罚了。
起首经由过程sql猎取首次处置惩罚的数据,
别小看这首次处置惩罚的数据,处置惩罚的好,会异常的便利。
SELECT a.user,count(order_id) as subcount,b.passcount,c.full_name from vicidial_order a LEFT JOIN (SELECT user,count(order_id) as passcount from vicidial_order where time > UNIX_TIMESTAMP('2015-11-7') and user_group = 'TeamOne' and verifysta = 'Y' GROUP BY user ) b on a.user = b.user LEFT JOIN vicidial_users c on a.user = c.user where time > UNIX_TIMESTAMP('2015-11-7') and a.user_group = 'TeamOne' GROUP BY a.user ;
sql思绪,归类定单表,以user来举行归类。
猎取每个人,当天的定单提交总数count()。
还要猎取每个人,定单经由过程考核的总数,经由过程where挑选。
然后关联查询其他相干数据。
有了这些基础数据,其他的相干数据都能出来了。
经由过程php来处置惩罚猎取,个中变量定名要清楚,如许也有利于浏览代码。
$select_sql = "SELECT a.user,count(order_id) as subcount,b.passcount,c.full_name from vicidial_order a LEFT JOIN (SELECT user,count(order_id) as passcount from vicidial_order where time > UNIX_TIMESTAMP('".$today."') and user_group = '".$user_group."' and verifysta = 'Y' GROUP BY user ) b on a.user = b.user LEFT JOIN vicidial_users c on a.user = c.user where time > UNIX_TIMESTAMP('".$today."') and a.user_group = '".$user_group."' GROUP BY a.user "; $rows = mysqli_query( $db_conn, $select_sql ); $row_counts_list = mysqli_num_rows( $rows ); if ( $row_counts_list != 0 ) { $i = 0; while($rs = mysqli_fetch_assoc( $rows )) // mysqli_fetch_assoc 猎取键值数据 mysqli_fetch_field 猎取一条数据 mysqli_fetch_fields 猎取多组数据 mysqli_fetch_row { $outData['list'][$i]['user'] = $rs['user']; $outData['list'][$i]['full_name'] = $rs['full_name']; $outData['list'][$i]['subcount'] = $rs['subcount']; $outData['list'][$i]['passcount'] = $rs['passcount']; $outData['list'][$i]['passrate'] = round(($rs['passcount']/$rs['subcount'])*100)."%"; $outData['all_subcount'] += $rs['subcount']; $outData['all_passcount'] += $rs['passcount']; $i++; } $outData['all_passrate'] = round(($outData['all_passcount']/$outData['all_subcount'])*100)."%"; $outData['online_count'] = $row_counts_list; $outData['average_subcount'] = round($outData['all_subcount']/$outData['online_count'],1); }
以上就是php怎样确保统计的数据准确的细致内容,更多请关注ki4网别的相干文章!