怎么快速统计每个月份数量样让小月多余天数的数据不统计在单月数据里面?

某一日,需要查询订单表中一个月每天的金额数查询出数据如下: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 }45 if ($list[count($list)-1]['times'] !=31){6 $list[] = array('money' => '0', 'times' => '31');//这样就添加了终点7 }8910 $last = '1';1112 foreach($list as $r) {13 while($last && $last < $r['times']) {14 $res[] = array('money' => '0','times' => "$last");1516 $last +=1;17 }18 $res[] = $r;19 $last +=1;20 }212223 //$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就可以了}

例如有如下数据:2012-1-12012-1-32012-1-32012-1-42012-1-102012-1-102012-2-12012-2-32012-2-3201...
例如有如下数据: 2012-1-1 2012-1-3 2012-1-3 2012-1-4 2012-1-10 2012-1-10 2012-2-1 2012-2-3 2012-2-3 2012-2-4 2012-2-4.如何统计1、2月份中工作天数(在数据中有相同天数出现)
展开选择擅长的领域继续答题?
{@each tagList as item}
${item.tagName}
{@/each}
手机回答更方便,互动更有趣,下载APP
提交成功是否继续回答问题?
手机回答更方便,互动更有趣,下载APP
比如你的那些数据在A1:A10,则1月份的工作天数是: =countif(A1:A10,"2010-1*")即可。}

我要回帖

更多关于 怎么快速统计每个月份数量 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信