欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2018年01月26日 11:36:44   作者:只會一點java  
這篇文章主要介紹了mysql按照天統(tǒng)計報表當天沒有數(shù)據(jù)填0的實現(xiàn)方法,需要的朋友可以參考下

1.問題復現(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

2.換個思維:

我們用一組連續(xù)的天數(shù)作為左表然后left join 要查詢的數(shù)據(jù) 最后group by.:連續(xù)天數(shù)表 t1 left join 業(yè)務數(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í)行結果如下:

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í)行結果如下:

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

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

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

left join group by t1.day

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

最終執(zhí)行結果:

總結

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

相關文章

  • nacos只支持mysql的原因分析

    nacos只支持mysql的原因分析

    nacos的數(shù)據(jù)源獲取都是通過com.alibaba.nacos.config.server.service.datasource.DynamicDataSource來獲取的,在獲取數(shù)據(jù)源時,根據(jù)配置判斷你到底是使用內(nèi)置的本地數(shù)據(jù)庫還是外部的數(shù)據(jù)庫(mysql),本文給大家詳細介紹,需要的朋友可以參考下
    2022-01-01
  • Mysql數(shù)據(jù)庫安裝完成后需要進行的6個后續(xù)操作

    Mysql數(shù)據(jù)庫安裝完成后需要進行的6個后續(xù)操作

    這篇文章主要介紹了Mysql數(shù)據(jù)庫安裝完成后需要進行的6個操作,即安裝完成后的后續(xù)操作,需要的朋友可以參考下
    2014-06-06
  • asp+mysql+utf8 網(wǎng)頁出現(xiàn)亂碼問題的解決方法

    asp+mysql+utf8 網(wǎng)頁出現(xiàn)亂碼問題的解決方法

    無論在網(wǎng)頁中加多少UTF8的定義,顯示的結果都還是會有一些小格子,反而定義為gb2312,顯示完全正常
    2014-03-03
  • Mysql計算字段長度函數(shù)之LENGTH函數(shù)

    Mysql計算字段長度函數(shù)之LENGTH函數(shù)

    MySQL length是指在MySQL數(shù)據(jù)庫中,用于獲取字符串或二進制數(shù)據(jù)類型的長度,下面這篇文章主要給大家介紹了關于Mysql計算字段長度函數(shù)之LENGTH函數(shù)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • mysql視圖原理與用法實例詳解

    mysql視圖原理與用法實例詳解

    這篇文章主要介紹了mysql視圖原理與用法,結合實例形式詳細分析了mysql視圖的概念、原理、使用方法及操作注意事項,需要的朋友可以參考下
    2020-04-04
  • 詳解CentOS6.5 安裝 MySQL5.1.71的方法

    詳解CentOS6.5 安裝 MySQL5.1.71的方法

    這篇文章主要介紹了CentOS6.5 安裝 MySQL5.1.71的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-12-12
  • 最新評論