濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > mysql按照天統(tǒng)計(jì)報(bào)表當(dāng)天沒有數(shù)據(jù)填0的實(shí)現(xiàn)代碼

mysql按照天統(tǒng)計(jì)報(bào)表當(dāng)天沒有數(shù)據(jù)填0的實(shí)現(xiàn)代碼

熱門標(biāo)簽:上海智能外呼系統(tǒng)需要多少錢 銀川電銷外呼系統(tǒng)定制 做地圖標(biāo)注都需要什么工具 電銷機(jī)器人好品牌門薩維l 凱立德科技館地圖標(biāo)注 哈爾濱crm外呼系統(tǒng)價(jià)格 中科嘉智人工智能電銷機(jī)器人 甘孜電話機(jī)器人廠家 西安400電話在哪里辦理

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

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

2.換個(gè)思維:

我們用一組連續(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é)果如下:

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é)果如下:

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)計(jì)條數(shù),沒有記錄就是0

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

總結(jié)

以上所述是小編給大家介紹的mysql按照天統(tǒng)計(jì)報(bào)表當(dāng)天沒有數(shù)據(jù)填0的實(shí)現(xiàn)代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • MySQL 統(tǒng)計(jì)查詢實(shí)現(xiàn)代碼
  • MYSQL中有關(guān)SUM字段按條件統(tǒng)計(jì)使用IF函數(shù)(case)問題
  • 如何使用MySQL查詢某個(gè)列中相同值的數(shù)量統(tǒng)計(jì)
  • 利用MySQL統(tǒng)計(jì)一列中不同值的數(shù)量方法示例
  • 單個(gè)select語句實(shí)現(xiàn)MySQL查詢統(tǒng)計(jì)次數(shù)
  • MYSQL每隔10分鐘進(jìn)行分組統(tǒng)計(jì)的實(shí)現(xiàn)方法
  • MySQL中幾種數(shù)據(jù)統(tǒng)計(jì)查詢的基本使用教程
  • MySQL按時(shí)間統(tǒng)計(jì)數(shù)據(jù)的方法總結(jié)
  • mysql 獲取規(guī)定時(shí)間段內(nèi)的統(tǒng)計(jì)數(shù)據(jù)
  • MySQL統(tǒng)計(jì)函數(shù)GROUP_CONCAT使用陷阱分析
  • mysql滑動(dòng)訂單問題原理與解決方法實(shí)例分析

標(biāo)簽:濮陽 那曲 安康 安徽 浙江 平頂山 四川 山南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql按照天統(tǒng)計(jì)報(bào)表當(dāng)天沒有數(shù)據(jù)填0的實(shí)現(xiàn)代碼》,本文關(guān)鍵詞  mysql,按照,天,統(tǒng)計(jì)報(bào)表,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mysql按照天統(tǒng)計(jì)報(bào)表當(dāng)天沒有數(shù)據(jù)填0的實(shí)現(xiàn)代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于mysql按照天統(tǒng)計(jì)報(bào)表當(dāng)天沒有數(shù)據(jù)填0的實(shí)現(xiàn)代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    习水县| 宜兰县| 新乡市| 石景山区| 克山县| 微山县| 乳山市| 武陟县| 洞口县| 界首市| 南城县| 图们市| 泸水县| 全南县| 定西市| 嘉鱼县| 十堰市| 玛纳斯县| 蕲春县| 波密县| 启东市| 始兴县| 社会| 额敏县| 中阳县| 大渡口区| 庐江县| 新密市| 平舆县| 北京市| 贡山| 达孜县| 黄冈市| 宁德市| 嘉义县| 汉源县| 塔河县| 布尔津县| 泰来县| 吴堡县| 鞍山市|