首页 > 数据库技术 > 详细

mysql 根据查询条件进行update

时间:2020-06-01 10:12:21      阅读:112      评论:0      收藏:0      [点我收藏+]
-- 新增comment_num 评论数字段
alter table tb_tips add   `comment_num` int(11) NOT NULL DEFAULT 0 COMMENT 评论数;

select count(1) as comment_num ,tips_id from tb_tips_comments GROUP BY tips_id ;

-- 创建临时表存储 所有tips 的统计数量
create temporary table statistical_comments(select count(1) as comment_num ,tips_id from tb_tips_comments GROUP BY tips_id);


-- 把评论表中有的数据但是tips表没有的数据清理掉
select tb_tips.tips_id ,statistical_comments.tips_id  from tb_tips right join statistical_comments on tb_tips.tips_id = statistical_comments.tips_id where  tb_tips.tips_id is null ;

delete FROM  tb_tips_comments where tips_id in (select statistical_comments.tips_id  from tb_tips right join statistical_comments on tb_tips.tips_id = statistical_comments.tips_id where  tb_tips.tips_id is null);
-- 把统计的评论数同步到tips表格
update tb_tips,statistical_comments set tb_tips.comment_num = statistical_comments.comment_num where tb_tips.tips_id = statistical_comments.tips_id;

-- 查看结果是否和预期一样。
select count(1) as comment_num ,tips_id from tb_tips_comments GROUP BY tips_id ORDER BY comment_num ,tips_id;
select comment_num,tips_id from tb_tips where comment_num >0 ORDER BY comment_num ,tips_id ;
    -- 用完释放
drop TEMPORARY TABLE statistical_comments;

 

 

mysql 根据查询条件进行update

原文:https://www.cnblogs.com/chongyao/p/13023650.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!