wiki快照
初始化今日快照数据 若今天已有数据 则不进行插入
insert into ebook_snapshot(ebook_id, date, view_count, vote_count, view_increase, vote_increase)
select id, curdate(), 0, 0, 0, 0
from ebook t1
where not exists(select 1 from ebook_snapshot t2 where t1.id = t2.ebook_id and t2.date = curdate());
更新今日点赞数和浏览数
update ebook_snapshot t1, ebook t2
set t1.view_count = t2.view_count,
t1.vote_count = t2.vote_count
where t1.ebook_id = t2.id
and t1.date = curdate();
查询昨日点赞数和浏览数
select ebook_id, vote_count, view_count
from ebook_snapshot t1
where t1.date = date_sub(curdate(), interval 1 day);
统计增量 增量 = 今天数 - 昨天 这里会遇到一个问题 若不进行佐连接查询的话, 如果昨天无数据 则不会进行更新操作 ifnull()若值不存在 初始化为
update ebook_snapshot t1 left join (select ebook_id, vote_count, view_count
from ebook_snapshot t1
where t1.date = date_sub(curdate(), interval 1 day)) t2
on t1.ebook_id = t2.ebook_id
set t1.view_increase = (t1.view_count - ifnull(t2.view_count, 0)),
t1.vote_increase = (t1.vote_count - ifnull(t2.vote_count, 0))
where date = curdate()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律