mysql 查詢近7天資料,缺失補0

2022-03-25 13:28:34 字數 1205 閱讀 4904

相信很多人的專案都有這種需求,就是查詢近7天的記錄,但是這7天總有那麼幾天是沒資料的,所以缺失的只能補 0 

下面的**不知道能不能看懂,我簡單的說一下思路

1)先查詢紅色字型的近7天,再轉換成日期

2)我的字段使用的是時間戳的方式去儲存,只能是先資料庫欄位先轉日期

2.1)先查詢自己想要的資料,用每天分組,計算好總數後

2.2)時間戳字段先轉日期

2.3)用 ifnull 函式判斷,缺失就補 0 

然後~~~~然後就大功告成啦

select temp.days, ifnull(wallettemp.money, 0) as money from (

select curdate() as days

union all

select date_sub(curdate(), interval 1 day) as days

union all

select date_sub(curdate(), interval 2 day) as days

union all

select date_sub(curdate(), interval 3 day) as days

union all

select date_sub(curdate(), interval 4 day) as days

union all

select date_sub(curdate(), interval 5 day) as days

union all

select date_sub(curdate(), interval 6 day) as days ) as temp

left join

(select date(from_unixtime(createat, '%y%m%d')) as datetime, sum(money) as money

from wb_car_wallet where driverid = 'e472e99da1be45918c82d92753382ac3'

and type = 0 or type = 1

group by from_unixtime(createat, '%y-%m-%d')

order by createat) as wallettemp on temp.days = wallettemp.datetime

mysql查詢今天 昨天 7天 近30天資料

mysql查詢今天 昨天 7天 近30天 本月資料進行 文件資料彙總也算mysql技巧了 愛微網親測成功 mysql查詢今天 昨天 7天 近30天 本月資料進行 文件資料彙總也算mysql技巧了 愛微網親測成功 date datetime null default null comment 時間 時...

mysql獲取近7天每天資料,無資料補0

接到老大排的活,需要作出乙個統計最近7天每天的資料做統計用,最終呈現出這樣的效果 因為公司庫裡面所有關於時間都是直接儲存時間戳,給我帶來了一定的處理上的難度,幸好網上找到乙個很好的想法 處理方式是 構建乙個最近7天的結果集,沒有的利用ifnull函式補0操作 最終的sql如下 select a.cl...

mysql 查詢統計近7天記錄

有需求查詢近7天 每天的訪問量的需求 1 統計7天所有的訪問記錄 select date format c.addtime,y m d days,count count from select from contentmessage where date sub curdate interval 7...