真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql如何按照天統(tǒng)計報表當天沒有數(shù)據(jù)填0

這篇文章主要介紹MySQL如何按照天統(tǒng)計報表當天沒有數(shù)據(jù)填0,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

目前創(chuàng)新互聯(lián)公司已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計、齊河網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

1.問題復(fù)現(xiàn):

按照天數(shù)統(tǒng)計每天的總數(shù),如果其中有幾天沒有數(shù)據(jù),那么group by 返回會忽略那幾天,如何填充0?如下圖,統(tǒng)計的10-3~10-10 7天的數(shù)據(jù),其中只有8號和10號有數(shù)據(jù),這樣返回,數(shù)據(jù)只有2個,不符合報表統(tǒng)計的需求。期望沒有值填0

mysql如何按照天統(tǒng)計報表當天沒有數(shù)據(jù)填0

2.換個思維:

我們用一組連續(xù)的天數(shù)作為左表然后left join 要查詢的數(shù)據(jù) 最后group by.:連續(xù)天數(shù)表 t1 left join 業(yè)務(wù)數(shù)據(jù)  t2 group by t1.day ,如下圖:

SELECT
 t1.`day`,
 COUNT(t2.user_id) payment_num
FROM
 (SELECT
 @cdate := DATE_ADD(@cdate, INTERVAL - 1 DAY) DAY
 FROM
 (SELECT
  @cdate := DATE_ADD('20171219', INTERVAL + 1 DAY)
 FROM
  order) t0
 LIMIT 7) t1
 LEFT JOIN
 (SELECT
  DATE(a.create_time) DAY,
  a.user_id
 FROM
  pay_payment a
  JOIN dealer_store b
  ON a.order_no = b.order_no
 WHERE DATE(create_time) <= '20171219'
  AND DATE(create_time) > DATE_SUB('20171219', INTERVAL 7 DAY)
  ) t2
 ON t2.day = t1.day
GROUP BY t1.`day`;

2.1 連續(xù)天數(shù)表

SELECT
 @cdate := DATE_ADD(@cdate, INTERVAL - 1 DAY) DAY
 FROM
 (SELECT
  @cdate := DATE_ADD('20171219', INTERVAL + 1 DAY)
 FROM
  order) t0
 LIMIT 7

執(zhí)行結(jié)果如下:

mysql如何按照天統(tǒng)計報表當天沒有數(shù)據(jù)填0

SQL分析:

1. @cdate :=  是定義名為cdate的變量并賦值(select 后面必須用:=)

2.@cdate := DATE_ADD('20171219', INTERVAL + 1 DAY) 按照傳入的日期'20171219',加一天

3.SELECT @cdate := DATE_ADD('20171219', INTERVAL + 1 DAY) FROM `order`  找一張表記錄肯定大于10條的即可,執(zhí)行結(jié)果如下:

mysql如何按照天統(tǒng)計報表當天沒有數(shù)據(jù)填0

4.@cdate := DATE_ADD(@cdate, INTERVAL - 1 DAY) DAY  把定義的cdate變量天數(shù)-1(自減)

5.LIMIT 7 限制一下條數(shù),大功告成,我們得到了指定日期往前7天的記錄

2.2 左關(guān)聯(lián)然后分組

left join group by t1.day

即按照左表關(guān)聯(lián)業(yè)務(wù)數(shù)據(jù),根據(jù)左表的日期分組,即分成了指定的7天數(shù)據(jù),有記錄就統(tǒng)計條數(shù),沒有記錄就是0

最終執(zhí)行結(jié)果:

mysql如何按照天統(tǒng)計報表當天沒有數(shù)據(jù)填0

以上是“mysql如何按照天統(tǒng)計報表當天沒有數(shù)據(jù)填0”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


名稱欄目:mysql如何按照天統(tǒng)計報表當天沒有數(shù)據(jù)填0
分享路徑:http://weahome.cn/article/pcegej.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部