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

查询出数据如下:

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号,毕竟要做折线统计图,日期是固定的,方法如下:

          if ($list[0]['times'] !=1){
array_unshift($list,array('money' => '0', 'times' =>'01')); //这样就添加了起点
} if ($list[count($list)-1]['times'] !=31){
$list[] = array('money' => '0', 'times' => '31');//这样就添加了终点
} $last = '1'; foreach($list as $r) {
while($last && $last < $r['times']) {
$res[] = array('money' => '0','times' => "$last"); $last +=1;
}
$res[] = $r;
$last +=1;
} // $res就是最终的结果
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就可以了

MySQL中实现连续日期内数据统计,缺省天数0补全的更多相关文章

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

    在Sqlserver下巧用行列转换日期的数据统计 前言 在SQLSERVER 中有很多统计函数的基础语法,有使用Group By 或 partition by 后配合Sum,Count(*) 等用法. ...

  2. MYSQL中delete删除多表数据

    MYSQL中delete删除多表数据 DELETE删除多表数据,怎样才能同时删除多个关联表的数据呢?这里做了深入的解释: 1. delete from t1 where 条件 2.delete t1 ...

  3. mysql中把一个表的数据批量导入另一个表中

    mysql中把一个表的数据批量导入另一个表中   不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将MySQL或MS SQLServer某个表的数据批量导入到另一个表的情况,甚至有时还需要指定 ...

  4. MySQL 中的数据库名称、数据表名称、字段名称

    如何查询Oracle,Sql Server,MySQL 中的数据库名称.数据表名称.字段名称 分类: Database2012-09-24 22:16 7034人阅读 评论(0) 收藏 举报 数据库s ...

  5. C++ 语言中的重载、内联、缺省参数、隐式转换等机制展现了很多优点

    C++ 语言中的重载.内联.缺省参数.隐式转换等机制展现了很多优点,但是这些 优点的背后都隐藏着一些隐患.正如人们的饮食,少食和暴食都不可取,应当恰到好处. 我们要辨证地看待 C++的新机制,应该恰如 ...

  6. GROUP BY和HAVING 以及mysql中常用的日期函数

    一.mysql中的GROUP BY和HAVINGGROUP BY常见的是和聚合函数(SUM,MIN,MAX,COUNT)搭配使用. 比如:SELECT category,SUM(money) AS ` ...

  7. PHP+Mysql+jQuery实现中国地图区域数据统计(raphael.js)

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

  8. 向mysql中插入Date类型的数据

    先看数据库表的定义 date字段为sql.date类型.我要向其中插入指定的日期和当前日期. 一.插入当前日期 思路:先获取当前系统,在将当前系统时间转换成sql类型的时间,然后插入数据库.代码如下 ...

  9. mysql 中时间和日期函数应用

    一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +-------------------- ...

随机推荐

  1. 创建Node.js TypeScript后端项目

    1.安装Node.js扩展,支持TypeScript语法 npm install -g typescript   npm install -g typings 2.创建项目目录project_fold ...

  2. Allegro PCB Design GXL (legacy) 将brd文件另存为低版本文件

    Allegro PCB Design GXL (legacy) version 16.6-2015 参考:https://blog.csdn.net/qq_29761395/article/detai ...

  3. Spring 源码分析-1-启动

    Spring 源码分析-1-启动 在web项目中使用spring的时候,我们会在web.xml中加入如下配置: <listener> <listener-class>org.s ...

  4. php正则验证车牌格式的函数

    /** * 判断是否合法车牌号 * @name isCarLicense * @param $license * @return bool */ function isCarLicense($lice ...

  5. + CategoryInfo : NotSpecified: (:) [], PSSecurityException + FullyQualifiedErrorId : RuntimeException

    File C:\Users\danv\Documents\WindowsPowerShell\profile.ps1 cannot be loaded because the execution of ...

  6. 习题集1b: 额外练习 (可选)

    1.练习:4.样本特点 用来描述样本的数字叫做? □ 参数   (√)□ 统计量 □ 变量 □ 常数 2.练习:5.大一学生体重情况 Freidman 博士在一所大学任教,她记录了所在大学每位大一新生 ...

  7. Wxpython入门

    Wxpython入门 api文档以及中文教程: https://pan.baidu.com/s/1TDTgHg9Mwc74ODQy68YnlQ 提取码:354n 入门示例 frame=wx.Frame ...

  8. Nginx模块 ngx_http_limit_req_module 限制请求速率

    The ngx_http_limit_req_module module (0.7.21) is used to limit the request processing rate per a def ...

  9. 2019-2-13TextBox技巧

    清空所有的TextBox文本框 思路:这些TextBox都是在一个窗体上的,这时候我们可以利用一个循环去遍历窗体上所有的TextBox控件.(代码如下) foreach (Control i in C ...

  10. DWM1000 测距原理简单分析 之 SS-TWR代码分析1 -- [蓝点无限]

    蓝点DWM1000 模块已经打样测试完毕,有兴趣的可以申请购买了,更多信息参见 蓝点论坛 正文: 这一篇内容主要是通过官方源码理解SS-TWR 细节 代码下载链接:https://download.c ...