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) --三月
分享6個月java基礎+進階精簡資料(視訊+原始碼+就業專案+面試報裝)
每天都有初學者詢問該如何學習,如何快速學習,因精力有限不能一一回復請見諒,現系統整理一套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個月,還每個月都跑贏主流貨幣,是不是覺得更有一探究竟的必要? 如果有幣友跟你說,玩了一隻幣種,還玩了六