某一日,需要查询订单表中一个月每天的金额数

查询出数据如下:

array(14) {[0] => array(2) {["money"] => string(7) "2000.00"["times"] => string(2) "12"}[1] => array(2) {["money"] => string(7) "6000.00"["times"] => string(2) "14"}[2] => array(2) {["money"] => string(8) "31569.00"["times"] => string(2) "15"}[3] => array(2) {["money"] => string(9) "134596.50"["times"] => string(2) "16"}[4] => array(2) {["money"] => string(7) "4000.00"["times"] => string(2) "17"}[5] => array(2) {["money"] => string(8) "20525.00"["times"] => string(2) "18"}[6] => array(2) {["money"] => string(7) "2000.00"["times"] => string(2) "20"}[7] => array(2) {["money"] => string(7) "6000.00"["times"] => string(2) "21"}[8] => array(2) {["money"] => string(7) "9000.00"["times"] => string(2) "22"}[9] => array(2) {["money"] => string(7) "2000.00"["times"] => string(2) "23"}[10] => array(2) {["money"] => string(7) "2000.00"["times"] => string(2) "25"}[11] => array(2) {["money"] => string(7) "7000.00"["times"] => string(2) "26"}[12] => array(2) {["money"] => string(8) "10000.00"["times"] => string(2) "27"}[13] => array(2) {["money"] => string(9) "212263.28"["times"] => string(2) "28"}
}

只查询了14天的数据,而且中间还有几天没有数据,但是我想要没查询的天数显示为0,这个时候就需要先给数据加个起点!如果没有1号,我们就把一号加上,有就略过! 然后还要加个终点,终点应放在原始数组中,不然算法不可能自作主张的添加数据,我这里默认每个月31号,毕竟要做折线统计图,日期是固定的,方法如下:

 1          if ($list[0]['times'] !=1){
 2                 array_unshift($list,array('money' => '0', 'times' =>'01')); //这样就添加了起点
 3             }
 4
 5             if ($list[count($list)-1]['times'] !=31){
 6                 $list[] = array('money' => '0', 'times' => '31');//这样就添加了终点
 7             }
 8
 9
10             $last = '1';
11
12             foreach($list as $r) {
13                 while($last && $last < $r['times']) {
14                     $res[] = array('money' => '0','times' => "$last");
15
16                     $last +=1;
17                 }
18                 $res[] = $r;
19                 $last +=1;
20             }
21
22
23 //            $res就是最终的结果
24             dump($res);

结果如下:

array(31) {[0] => array(2) {["money"] => string(1) "0"["times"] => string(2) "01"}[1] => array(2) {["money"] => string(1) "0"["times"] => string(1) "2"}[2] => array(2) {["money"] => string(1) "0"["times"] => string(1) "3"}[3] => array(2) {["money"] => string(1) "0"["times"] => string(1) "4"}[4] => array(2) {["money"] => string(1) "0"["times"] => string(1) "5"}[5] => array(2) {["money"] => string(1) "0"["times"] => string(1) "6"}[6] => array(2) {["money"] => string(1) "0"["times"] => string(1) "7"}[7] => array(2) {["money"] => string(1) "0"["times"] => string(1) "8"}[8] => array(2) {["money"] => string(1) "0"["times"] => string(1) "9"}[9] => array(2) {["money"] => string(1) "0"["times"] => string(2) "10"}[10] => array(2) {["money"] => string(1) "0"["times"] => string(2) "11"}[11] => array(2) {["money"] => string(7) "2000.00"["times"] => string(2) "12"}[12] => array(2) {["money"] => string(1) "0"["times"] => string(2) "13"}[13] => array(2) {["money"] => string(7) "6000.00"["times"] => string(2) "14"}[14] => array(2) {["money"] => string(8) "31569.00"["times"] => string(2) "15"}[15] => array(2) {["money"] => string(9) "134596.50"["times"] => string(2) "16"}[16] => array(2) {["money"] => string(7) "4000.00"["times"] => string(2) "17"}[17] => array(2) {["money"] => string(8) "20525.00"["times"] => string(2) "18"}[18] => array(2) {["money"] => string(1) "0"["times"] => string(2) "19"}[19] => array(2) {["money"] => string(7) "2000.00"["times"] => string(2) "20"}[20] => array(2) {["money"] => string(7) "6000.00"["times"] => string(2) "21"}[21] => array(2) {["money"] => string(7) "9000.00"["times"] => string(2) "22"}[22] => array(2) {["money"] => string(7) "2000.00"["times"] => string(2) "23"}[23] => array(2) {["money"] => string(1) "0"["times"] => string(2) "24"}[24] => array(2) {["money"] => string(7) "2000.00"["times"] => string(2) "25"}[25] => array(2) {["money"] => string(7) "7000.00"["times"] => string(2) "26"}[26] => array(2) {["money"] => string(8) "10000.00"["times"] => string(2) "27"}[27] => array(2) {["money"] => string(9) "212263.28"["times"] => string(2) "28"}[28] => array(2) {["money"] => string(1) "0"["times"] => string(2) "29"}[29] => array(2) {["money"] => string(1) "0"["times"] => string(2) "30"}[30] => array(2) {["money"] => string(1) "0"["times"] => string(2) "31"}
}

同样的. 12个月也可以这样操作,只要把终点改为12就可以了

转载于:https://www.cnblogs.com/luojie-/p/10778889.html

MySQL中实现连续日期内数据统计,缺省天数0补全相关推荐

  1. Mysql中查询连续一段时间内统计数据

    Mysql中查询连续一段时间内统计数据 在一次生产环境中遇到统计当前日期的前10天每天的订单量,一开始想到的就是根据日期进行分组统计,但在查询的时候会存在一个问题:有可能某一天没有订单交易,日期分组中 ...

  2. 在Sqlserver下巧用行列转换日期的数据统计

    在Sqlserver下巧用行列转换日期的数据统计 原文:在Sqlserver下巧用行列转换日期的数据统计 在Sqlserver下巧用行列转换日期的数据统计 前言 在SQLSERVER 中有很多统计函数 ...

  3. MySQL 中的常用日期函数

    MySQL 中的常用日期函数: 函数 描述 NOW() 返回当前的日期和时间 CURDATE() 返回当前的日期 CURTIME() 返回当前的时间 DATE() 提取日期或日期/时间表达式的日期部分 ...

  4. MySql中把一个表的数据插入到另一个表中的实现代码--转

    MySql中把一个表的数据插入到另一个表中的实现代码 司的一个项目,做报表--要关联的表结构比较多,最后决定把要用的数据集合到一张新表中,需要用到以下的sql语法......分享下: web开发中,我 ...

  5. mysql中Long类型日期比较大小

    项目里遇到一个功能,需要查出表中,昨天一天某个人的考勤记录. 问题本不复杂,但是表中用户打卡时间为char类型的时间戳(毫秒).这样一来比较时间范围就麻烦了许多. 还好,网上以为有脾气的博主写的文章帮 ...

  6. MySQL删除或清空表内数据的方法

    MySQL删除或清空表内数据的方法 一.使用MySQL清空表数据命令:truncate SQL语法为: truncate table 表名 注意: truncate该命令会直接将数据表内数据清空: t ...

  7. mysql 日期详解,MySQL中如何操作日期的详解

    日期是数据库存储很重要的一部分,下面总结下在MySQL中常用的日期操作 1.select curDate(); #获取当前日期select curTime(); #获取当前时间select now() ...

  8. mysql中查询当年1-12月数据

    数据统计中经常有这样的需求,统计今年1-12月的贸易额,统计了两种比较使用的方法; 第一种:采用union方式 select concat((select year(now())), '-01') a ...

  9. php省份分布统计图,PHP+Mysql+jQuery实现中国地图区域数据统计

    使用过百度统计或者cnzz统计的童鞋应该知道,后台有一个地图统计,不同访问量的省份显示的颜色也不一样,今天我将带领大家开发一个这样的案例.上一篇<使用raphael.js绘制中国地图>文章 ...

最新文章

  1. 朴素的串模式匹配(C语言实现)【串模式匹配】
  2. TC工具后台模式_如何用WRF模式模拟台风个例
  3. Java | Python 流程控制对比
  4. 【qduoj - 1012】反转数字(模拟,水题)
  5. Java web后端4 会话 Cookie Session
  6. oppo专用计算机,OPPO手机助手
  7. C语言 fclose 函数 - C语言零基础入门教程
  8. 智慧城市产业图谱研究报告(2020年)
  9. java 数据溢出和编译错误的差别
  10. Linux下mysql主从复制配置(CentOS7)
  11. 前端面试:如何修改overflow:scroll 滚动条的默认样式-如背景色以及宽度
  12. 存储基础(VG、LV、LP、PV、PP)
  13. 人脸方向学习(四):Face Recognition-SphereFace解读
  14. Illustrator 教程,如何在 Illustrator 中对矢量图进行变形、定形和塑形?
  15. python新浪微博爬虫_利用新浪API实现数据的抓取\微博数据爬取\微博爬虫
  16. 【3dmax千千问】初学3dmax插件神器第23课:3dmax自学渲染进阶提升教程|疯狂模渲大师排除了特殊的材质后,室内设计师还要去除VRAY的光线追踪,再设计3dmax效果图!
  17. 如何通过手机拍照生成三维模型
  18. 2021年2月3日 星期三 农历立春 霾 天津
  19. echarts报表javascript插件简介
  20. ORA-01400错误

热门文章

  1. 打印工资条怎么做到每个人都有表头明细_现在还在用订书钉装订工资条,算是一种落后吗?你的公司怎么发?...
  2. Flask知识点查阅
  3. oracle调用MySQL函数,Oracle的INSTR函数MySQL实现
  4. antd 能自适应吗_我文笔不好,不太会写文章,能做好自媒体吗?
  5. 使用缓冲流有什么好处_使用档案密集柜有什么好处?不看一看会后悔
  6. c语言面试会问10个数排序吗,c语言面试最必考的十道试题,求职必看!!!
  7. 西门子uss通讯实例_西门子plc1200系列的功能特点有哪些?
  8. 一个域名能申请多少个ssl_必须要有域名才能申请SSL证书吗?
  9. 怎么设置html编译报错,doctype html编译出错,提示unexpected character D,这是怎么回事呀?...
  10. 一个php请求的执行过程,PHP程序执行的过程原理