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()

posted @   RainbowMagic  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示