相信我们在开发的过程中,最重要的点之一就是——代码的复用性,可读性。

本文主要讲的一个小点就是我们大家在后台开发中,通常会遇到一些数据的统计,多个报表的统计。

那么主要的思路就是把统计的代码块给独立出来,方便我们多个后端程序员在做不同表统计时,用到统一的统计代码设计思路,这样就不会乱了。

如果我们要在sql语句里面循环去统计汇总会增加数据库的负荷,所以我们换个方式,在查询出来的数据集之后,运用数组函数来统计

//以下为统计的方法代码啦,统一以       二维数组为例子

/**

* 此方法用来统计汇总

* @param $list 数据数组 //二维数组

*

*/

public function sum(array $list){

foreach ($list as $key => $value){

foreach ($value as $key => $vo){

//这里最主要是数组函数 array_sum 和 array_map 的配合使用

对于这两个函数不了解同学的需要去复习一下噢!

$Array['sum'][$key]  = array_sum(array_map(function($val) use($key) {return $val[$key];}, $list));

}

}

return $Array;

}

我们调用它,要统计的数组为我们遍历出来的$list,比如是会员信息,我们需要把所有会员的一些付费数据给统计起来汇总。

Array

(

[0] => Array

(

[id] => 1

[name] => 小明

[mobile] => 13000000000

[price] => 0.02

[pay_num] => 2

[weixin_account] => 0.00

[left_cion] => 0

[acion] => 0

[give_coins] => 101

[use_integral] => 0

[give_integral] => 9724

[zengbi] => 0

[yubi] => 2

[integral] => 9724

[giftmachine] => 0

[money] => 0.02

[if_member] => 1

)

[1] => Array

(

[id] => 2

[name] => CC

[mobile] => 13000000000

[price] => 0.00

[pay_num] => 0

[weixin_account] => 0.00

[left_cion] => 0

[acion] => 0

[give_coins] => 100

[use_integral] => 0

[give_integral] => 7100

[zengbi] => 0

[yubi] => 0

[integral] => 7100

[giftmachine] => 0

[money] => 0.00

[if_member] => 1

)

)

//统计

$sum_data = $this->sum($list);

//得到

Array(

[sum] => Arra(

[id] => 15

[name] => 0

[mobile] => 61148026906

[price] => 0.02

[pay_num] => 2

[weixin_account] => 0.14

[left_cion] => 0

[acion] => 0

[give_coins] => 401

[use_integral] => 0

[give_integral] => 19924

[zengbi] => 0

[yubi] => 2

[integral] => 19924

[giftmachine] => 0

[money] => 0.02

[if_member] => 4

)

)

我们可以得到所有会员数据,每一项的综合,当然,示例并没有 把id,name等的不必要统计的数据给筛选掉,在实际的开发中,我们可以把数据集中,需要统计的数据组合成一个新的二维数组,再去统计这个新的数据数组。

其实最主要是想给刚入门PHP的朋友们表达一种思路,数据数组统计处理和sql语句优化,避免去循环sql语句统计,影响数据库的性能。

再者,统计是后台 报表中较为常见,且复用性极高的一个功能代码,所以我们的设计模式,一开始就要把这种类型的代码给独立出来,提高开发安全和代码准确性,统一性。

php实现报表的分组统计sql,PHP做后台数据报表设计简单的统计函数相关推荐

  1. php实现报表的分组统计sql,实现报表的分组统计,其操作区域是。

    摘要: 实现下不工具电动情况那些能使用(手持.表明比(回炼,组统作区下在一总转定的化率,转化单程率高.其操主要的二催化次反应是裂化.... 实现下不工具电动情况那些能使用(手持. 下列选项中,报表比阐 ...

  2. python excel 分组统计一个时间段内的数据,如三个月内,但不限于某个时间起止,是任何三个月的长度内

    """ 分组统计一个时间段内的数据,如三个月内,但不限于某个时间起止,是任何三个月的长度内 """import pandas as pd i ...

  3. MySQL连表分组统计使用count查询出数据不准确问题解决方案

    先上两副图 这里有两张表:score表和year_as表,要求统计出score表按年份分组的个数,且查询出来的内容需要包括year_as表中的year_as字段. 使用正常连表并分组统计count得出 ...

  4. c#水晶报表连接mysql_C# 用vs2008连接SQL数据库做动态水晶报表

    博主是个还在上大学的新手,如果有什么说错的地方请务必帮我指出来,谢谢! 想要完成一个能够动态改变其中数据的水晶报表,可以通过创建一个 数据的中转站来存储和输出数据的方式. 借由这个中转站,我们可以通过 ...

  5. python分组统计_python数据分析8:数据分组统计

    1.根据给定的条件将数据拆分成组 2.每个组都可以独立应用函数(如求和,求平均值) 3.将结果合并到一个数据结构中 DataFrame.groupby(by=None,axis=0,level=Non ...

  6. 这个报表工具绝了!能做GIS数据地图,还能集成R语言!

    我们知道报表工具就像是加强版的Excel,主要用途就是制作各种报表.但有一个报表工具,不仅本身很强大,能高效率无重复的制作各种报表,还拥有丰富的可视化,能做数据分析. 最近更是新出了几款插件,能在线预 ...

  7. oracle复杂分组查询语句,oracle中的“复杂”分组统计sql

    要求: 呼叫系统(Call Center)每天会有大量的电话进线数据,领导们要查看每天的进线数汇总,并且要求把 每天从上午8点到上午12点以及下午2点到晚上8点这两个时间段的数据汇总 "视& ...

  8. mysql按天,小时,半小时,N分钟,分钟进行数据分组统计

    mysql按天,小时,半小时,N分钟,分钟进行数据分组统计 mysql不同时间粒度下的分组统计 按天统计 按小时统计 按半小时统计 按N分钟统计 按分钟统计 mysql不同时间粒度下的分组统计 我们在 ...

  9. Excel 分组统计不重复项

    Excel 分组统计不重复项 通过数据透视表,详见链接 链接: link.

最新文章

  1. 为什么开发者应该摒弃敏捷?(转)
  2. 互联网日报 | 2月23日 星期二 | 华为发布新一代折叠旗舰Mate X2;字节跳动游戏官网正式上线;携程设立轮值制度...
  3. python xlrd模块
  4. UI设计干货模板素材|数据可视化UX套件
  5. Testing - Codereview Checklist
  6. activeMQ的基本使用
  7. css如何调用函数,从CSS调用JavaScript函数
  8. MD文档编写利器《Typora》
  9. Win8怎么在桌面显示我的电脑
  10. android 页面跳转代码
  11. Powertoys windows 10第三方桌面分块(分区)工具
  12. 注册99美元苹果开发帐号
  13. 普通二本毕业八年,京东就职两年、百度三年,分享大厂心得
  14. 《计算机网络教程》(微课版 第五版)第三章 数据链路层 课后习题及答案
  15. layer.open(常用)
  16. 关于“为什么delete以后指针还能被赋值”一种描述
  17. bootstrap登录模板
  18. TI vs Nordic BLE 产品市场分析
  19. 【电脑配置知识】显卡 GPU
  20. 微信公众号图灵机器人开发php,使用图灵机器人api搭建微信聊天机器人php实现,图灵微信聊天机器人...

热门文章

  1. MySQL性能优化(七):其它优化
  2. Python用opencv实现动态识别二维码,以及加强版Python GUI(图像用户界面编程)
  3. 计算机telnet命令大全,telnet命令大全.doc
  4. 安装mips编译器和模拟器/mips GCC编译环境搭建
  5. (中兴路由器)无中继的DHCP配置实验
  6. C++ 面试题 面试内容 面试内容 免费分享
  7. 毫米波雷达模块在自动驾驶系统中的关键功能
  8. HMM算法概述(总结)
  9. 【Python】Pandas读存Excel大全
  10. 模型设计有趣软件学习