MySQL——統計某個表每天的總量和增量問題解決方案

目錄

問題描述

問題分析

解決方案

擴展方案

參考文章


 

問題描述

使用SQL統計某個表每天的總量和增量MySQL數據庫

例:一個user表 有user_id自增主鍵,還有create_time用戶創建時間  

業務需求:讓你統計每天用戶的總量和相比前一天增加了多少用戶量

問題分析

 

解決方案

首先將每天的總量查出來 表中的時間一般爲date_time類型  所以用個函數 

SELECT DATE_FORMAT(create_time,'%Y-%m-%d') dd,COUNT(*) num FROM USER GROUP BY DATE_FORMAT(create_time,'%y-%m-%d')

將上一個SQL作爲一個統計表來計算增量  上SQL。

SELECT a.dd,a.num,SUM(lt.num)  AS cum FROM
(SELECT DATE_FORMAT(create_time,'%Y-%m-%d') dd,COUNT(*) num FROM USER GROUP BY DATE_FORMAT(create_time,'%y-%m-%d'))  a
JOIN
(SELECT DATE_FORMAT(create_time,'%Y-%m-%d') dd,COUNT(*) num FROM USER GROUP BY DATE_FORMAT(create_time,'%y-%m-%d'))  lt
ON a.dd >= lt.dd GROUP BY dd

dd7ab24069748878d639fd7a69107f74.png-wh_(表一)af70e661afde991f19cdc09787650067.png-wh_(表二)

注:

時間戳格式

FROM_UNIXTIME(create_time,'%Y-%m-%d') as time

日期格式

DATE_FORMAT(create_time,'%Y-%m-%d') as time

擴展方案

創建MySQL數據庫定時任務,每天數據更新,實現數據持久化,減少不必要的算力。

參考文章

https://blog.csdn.net/a114469/article/details/80704590

https://blog.51cto.com/woniu123/1979970

https://www.cnblogs.com/manger/p/12574834.html

https://www.cnblogs.com/javahr/p/9664203.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章