1. 程式人生 > >MySql 統計最近 6 個月內的資料,沒有資料預設為顯示為 0

MySql 統計最近 6 個月內的資料,沒有資料預設為顯示為 0

在做報表資料統計的時候,用一個折線圖用來顯示並統計最近 6 個月內的資料結算情況。為了前端小夥伴方便處理資料,需要將沒有資料的月份預設填充為 0。

網上查了很久,最終找到了解決辦法,寫出來分享一下,希望能夠幫助到大家。

1、初始化最近的 6 個月份

SELECT
    CONVERT (t2.year_month_str, CHAR) 時間戳
FROM
    (
        SELECT
            @rownum :[email protected] + 1 AS num,
            date_format(
                DATE_SUB(now(), INTERVAL
@rownum MONTH), '%Y/%m' ) AS year_month_str FROM (SELECT @rownum := - 1) AS r_init, ( SELECT c.id FROM yecaishui_tax_return_table_common_items c LIMIT 6
) AS c_init ) t2 GROUP BY t2.year_month_str

yecaishui_tax_return_table_common_items 是庫中的一個常量表,只要其中的資料記錄數大於 6 即可,LIMIT 6 限制查詢的條數。下面是執行結果
這裡寫圖片描述
2、通過 LEFT JOIN 關鍵字關聯查詢的資料表

SELECT
    IFNULL(SUM(i.total), 0.00) AS statementTotalMoney,
    IFNULL(SUM(i.taal_open), 0.00) AS statementSettledMoney,
    CONVERT (t2.year_month_str, CHAR
) `timeStamp` FROM ( SELECT @rownum :[email protected] + 1 AS num, date_format( DATE_SUB(now(), INTERVAL @rownum MONTH), '%Y/%m' ) AS year_month_str FROM (SELECT @rownum := - 1) AS r_init, ( SELECT c.id FROM yecaishui_tax_return_table_common_items c LIMIT 6 ) AS c_init ) t2 LEFT JOIN yecaishui_income_statement AS i ON ( CONCAT( DATE_FORMAT(i.gmt_create, '%Y'), '/', DATE_FORMAT(i.gmt_create, '%m') ) = t2.year_month_str AND i.delete_flag = 0 ) GROUP BY t2.year_month_str

... = t2.year_month_str 表示將庫中的時間欄位格式化後與月份進行關聯。查詢結果如下

相關推薦

MySql 統計最近 6 資料沒有資料預設顯示 0

在做報表資料統計的時候,用一個折線圖用來顯示並統計最近 6 個月內的資料結算情況。為了前端小夥伴方便處理資料,需要將沒有資料的月份預設填充為 0。 網上查了很久,最終找到了解決辦法,寫出來分享一下,希

sql統計某商品最近12的銷量缺銷售資料的月份自動補0

今天遇到這樣一個問題,要統計某商品最近12個月的銷量,輸出到UI畫個柱狀圖 sql長這樣子: select date_format(date, '%Y-%m') as month, sum(money) as totalmoney from sales where cod

MySQL統計過去12資料沒有0

查詢每月新增使用者數celsp_users是使用者表 createTime 為新增使用者時間 SELECT a.count,b.time2 from   (select count(c.createTime) as count,FROM_UNIXTIME( UNIX_TI

mysql定時刪除6前的表

檢視定時是否開啟: 檢視event是否開啟 : SHOW VARIABLES LIKE '%event_sche%'; 將事件計劃開啟 : SET GLOBAL event_scheduler = 1; 將事件計劃關閉 : SET GLOBAL event_schedule

Oracle根據當前時間獲取最近5年最近6最近30天的時間

根據當前時間獲取最近5年時間:(yyyy) SELECT to_char(SYSDATE,'YYYY') - LEVEL + 1 as "xAxisValue"  FROM dualCONNECT BY LEVEL <= 5ORDER BY to_char(SYSDA

mysql查詢最近4天的資料沒有資料自動補0

SELECT  click_date,  count(plan_order_id) numFROM  (      SELECT        date_sub(curdate(), INTERVAL 1 DAY) AS click_date      UNION ALL 

mysql中怎麼查詢出一週,三,半年資料

SELECT * FROM table where inputtime>DATE_SUB(CURDATE(), INTERVAL 1 WEEK) --一週 where inputtime>DATE_SUB(CURDATE(), INTERVAL 3 MONTH)

mysql查詢一週,三,半年資料

SELECT * FROM table where inputtime>DATE_SUB(CURDATE(), INTERVAL 1 WEEK) --一週 where inputtime>DATE_SUB(CURDATE(), INTERVAL 3 MONTH) --三月

分享6java基礎+進階精簡資料(視訊+原始碼+就業專案+面試報裝)

  每天都有初學者詢問該如何學習,如何快速學習,因精力有限不能一一回復請見諒,現系統整理一套java初學者最佳的學習方法、路線、大綱及視訊資料,並對一些過期的知識點進行剔除!如Struts2,hibernate等舊框架!完全不需要在新手期進行學習,因為外面公司基本不再使用!希望

MySQL實戰 | 02-MySQL 如何恢復到半任意一秒的狀態?

原文連結:MySQL是如何做到可以恢復到任意一秒狀態的? 看到這個題目是不是覺得資料庫再也不用擔心伺服器 crash 了? 那我們需要學習為什麼可以這麼做?以及如何做? 即為什麼可以恢復到任意時間點?如何恢復到任意時間點? 為什麼有了 binlog 還需要 redo log? 事務是如何提交的?事務

Airbnb資料科學家:歷時6我終於找到了心儀的工作

作者 Kelly Peng 編譯 Mika 本文為 CDA 資料分析師原創作品,轉載需授權 中國小姐姐Kelly Peng在本文分享了她在資料科學求職過程中的心得和體會。 前言 一個月前,我作為資料科學家在Airbnb開始了我的新工作,能夠進入Airbnb,獲得自己心儀的工作我感到很幸運。我曾向Airb

mysql中怎麼查詢出昨天明天五天一週,三,半年的數

SELECT * FROM table where inputtime>DATE_SUB(CURDATE(), INTERVAL 1 WEEK) --一週 where inputtime>DATE_SUB(CURDATE(), I

0 經驗如何在幾成為資料科學家?

成為一名資料科學家,Course 或 MOOC 上的廣告說幾個月就行。然而本文作者說,這是不可能的。以下是作者根據自身經歷寫的經驗(雞湯)貼,內容詳實豐富 ↓↓ 關於做一名資料科學家,我有一些想法分享給大家:成為一名資料科學家並不容易,需要付出很多努力,當然如果你對資料科學充滿興趣,那一切都是值

mysql 中sql 語句查詢今天、昨天、近7天、近30天、一個、上一月 資料

select * from 表名 where to_days(時間欄位名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 時間欄位名) <= 1 7天 SELECT * FROM 表名 where DA

MySQL獲取近12資料SQL

##獲取近12個月資料 SELECT TYEAR,        TMONTH,        CONCAT(SUBSTRING(TYEAR,3),'/',TMONTH) AS T_TIME,     

百家筆記網博客的運營和6增長速度還遠遠不夠[圖]

家書 得到 開始 短板 盧松松 王者榮耀 身高 may 事情 百家筆記網是一個關於讀書筆記和名著讀後感寫作的博客,博客的寫作需要長期的堅持,是一個需要強大執行力才可以做到的事情,非常艱難,因為我們發現,目前在中國的互聯網行業, 名氣最大的獨立博客也就是月光博客和盧松松博客了

百家筆記網6做到6000訪客是如何實現的?[圖]

發表 實現 筆記 頁面 付出 們的 我的博客 行業 uga 我的讀書筆記博客已經建站快5年多了,但是目前每天的流量也就不到1萬人,這對於一個堅持寫博客的人來說,不是個好消息,因為這個付出與收益對比起來,可謂入不敷出,這是需要反思和總結的。因為我是用zblog程序建的網站,因

sql 語句查詢今天、昨天、近7天、近30天、一個、上一月 資料

SQL語句如下: 查詢當天的所有資料 SELECT * FROM 表名 WHERE DATEDIFF(欄位,NOW()) = 0 SELECT * FROM 表名 WHERE to_days(時間欄位名) = to_days(now()); 查詢昨天的所有

SQL語句查詢今天、昨天、近7天、近30天、一個、上一月 資料

SQL語句如下: 查詢當天的所有資料   SELECT * FROM 表名 WHERE DATEDIFF(欄位,NOW()) = 0 SELECT * FROM 表名 WHERE to_days(時間欄位名) = to_days(now());

2018/10/30|Linkey——是什麼支撐著你連漲了6?!

如果有幣友跟你說,玩了一隻幣種,還玩了六個月,相信很多人第一反映是,比特幣、以太坊等主流貨幣,畢竟其他小幣種,能挺過3個月就很了不起了,更不用說6個月?!同樣的,如果市面上有這麼一個幣種,不僅活了6個月,還每個月都跑贏主流貨幣,是不是覺得更有一探究竟的必要? 如果有幣友跟你說,玩了一隻幣種,還玩了六