<del id="d4fwx"><form id="d4fwx"></form></del>
      <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

            <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
          • 如何在PHP中MySQL對一段時間內(nèi)每天的數(shù)據(jù)進行統(tǒng)計-創(chuàng)新互聯(lián)

            這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)如何在PHP中MySQL對一段時間內(nèi)每天的數(shù)據(jù)進行統(tǒng)計,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

            公司專注于為企業(yè)提供網(wǎng)站制作、網(wǎng)站設(shè)計、微信公眾號開發(fā)、電子商務(wù)商城網(wǎng)站建設(shè),成都小程序開發(fā),軟件按需求定制開發(fā)等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗,我們會仔細了解各客戶的需求而做出多方面的分析、設(shè)計、整合,為客戶設(shè)計出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,成都創(chuàng)新互聯(lián)更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。

            代碼如下:


            $month = '04';
            $year = '2017';
            $max_day = cal_days_in_month(CAL_GREGORIAN, $month, $year);   //當(dāng)月最后一天
            //構(gòu)造每天的數(shù)組
            $days_arr = array();
            for($i=1;$i<=$max_day;$i++){
              array_push($days_arr, $i);
            }
            $return = array();
            //查詢
            foreach ($days_arr as $val){
              $min = $year.'-'.$month.'-'.$val.' 00:00:00';
              $max = $year.'-'.$month.'-'.$val.' 23:59:59';
              $sql = "select count(*) as total_num,sum(`total_price`) as amount from `orders` where `enterdate` >= {$min} and `enterdate` <= {$max}";
              $return[] = mysqli_query($sql);
            }
            return $return;

            這個sql簡單,但是每次需要進行30次查詢請,嚴重拖慢響應(yīng)時間。

            優(yōu)化

            如何使用一個sql直接查詢出各天的數(shù)量總計呢?

            此時需要利用 mysql 的date_format 函數(shù),在子查詢中先查出當(dāng)月所有訂單,并將 enterdate 用 date_format 函數(shù)轉(zhuǎn)換為 天 ,然后按天group by 分組統(tǒng)計。 代碼如下:

            $month = '04';
            $year = '2017';
            $max_day = cal_days_in_month(CAL_GREGORIAN, $month, $year);   //當(dāng)月最后一天
            $min = $year.'-'.$month.'-01 00:00:00';
            $max = $year.'-'.$month.'-'.$max_day.' 23:59:59';
            $sql = "select t.enterdate,count(*) as total_num,sum(t.total_price) as amount (select date_format(enterdate,'%e') as enterdate,total_price from orders where enterdate between {$min} and {$max}) t group by t.enterdate order by t.enterdate";
            $return = mysqli_query($sql);

            如此,將30次查詢減少到1次,響應(yīng)時間會大大提高。

            注意:

            1.由于需查詢當(dāng)月所有數(shù)據(jù),在數(shù)據(jù)量過大時,不宜采取本方法。

            2.為避免當(dāng)天沒有數(shù)據(jù)而造成的數(shù)據(jù)缺失,在查詢后,理應(yīng)根據(jù)需求對數(shù)據(jù)進行處理。

            上述就是小編為大家分享的如何在PHP中MySQL對一段時間內(nèi)每天的數(shù)據(jù)進行統(tǒng)計了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

            網(wǎng)站題目:如何在PHP中MySQL對一段時間內(nèi)每天的數(shù)據(jù)進行統(tǒng)計-創(chuàng)新互聯(lián)
            本文路徑:http://www.jbt999.com/article12/djjhgc.html

            成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、品牌網(wǎng)站設(shè)計、App設(shè)計、Google、網(wǎng)站改版、自適應(yīng)網(wǎng)站

            廣告

            聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

            成都做網(wǎng)站

              <del id="d4fwx"><form id="d4fwx"></form></del>
              <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

                    <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
                  • 精品av国产日韩一区二区 | 亚洲激情在线观看 | 看操逼网站 | 国产黄色在线 | 日韩免费无码 |