当前位置: 首页 > news >正文

MySQL-删除重复数据

在实际应用中,遇到一个这样的问题,MySQL中存储的数据为资讯类数据,在页面展示时会出现多个平台的新闻报导相同的内容,导致页面会出现重复数据。因为数据是每天定期更新,所以最快捷有效的方式是在更新完数据后增加一个去重操作。

实现逻辑如下:

写一个定时删除的脚本,每天定时执行,通过对数据中title进行聚合去重:将数据按title分组,取id最小的数据进行记录,然后将id不在该列表的数据删除。

代码如下:

DELETE FROM worldhm_info_major_news
WHERE id NOT IN (SELECT MIN(id) min_idFROM worldhm_info_major_newsWHERE pub_date > "2023-09-24 00:00:00"GROUP BY title
) AND pub_date > "2023-09-24 00:00:00";

运行上述代码时报错:

该错误大致意思为不能依据某字段值做判断再来更新某字段的值。

解决方法

解决方法:select 的结果再通过一个中间表 select 多一次,就可以避免这个错误

DELETE FROM worldhm_info_major_news
WHERE id NOT IN (
select min_id from (SELECT MIN(id) min_idFROM worldhm_info_major_newsWHERE pub_date > "2023-09-24 00:00:00"GROUP BY title) a
) AND pub_date > "2023-09-24 00:00:00";

http://www.lryc.cn/news/289979.html

相关文章:

  • Android Handler完全解读
  • 群晖NAS搭建WebDav结合内网穿透实现公网访问本地影视资源
  • vmstat 监控虚拟内存,进程,CPU
  • C++: 内联函数
  • ctfshow web72
  • 你想要一个什么样的gpt?高准确度和可靠性 问题解答 自主完成任务(智能体) 解决贫困 战争 难题 公平的价值体系
  • VUE中一些概念的理解
  • 【ArcGIS遇上Python】python实现批量XY坐标生成shp点数据文件
  • 【C语言】(7)输入输出
  • 数据结构——链式二叉树
  • SpringSecurity笔记
  • 常见递归算法题目整理
  • 安全小记-Ngnix负载均衡
  • CI/CD
  • window下如何安装ffmpeg(跨平台多媒体处理工具)
  • MySQL必看表设计经验汇总-上(精华版)
  • 扫雷游戏(C语言)
  • 五、MySQL的备份及恢复
  • 使用dockers-compose搭建开源监控和可视化工具
  • 浏览器——HTTP缓存机制与webpack打包优化
  • STM32duino舵机控制-2
  • 【知识---如何创建 GitHub 个人访问令牌】
  • GBASE南大通用分享-ConnectionTimeout 属性
  • ChatGPT 全域调教高手:成为人工智能交流专家
  • 5.Hive表修改Location,一次讲明白
  • 基于springboot校园台球厅人员与设备管理系统源码和论文
  • MySQL(下)
  • 如何搭建开源笔记Joplin服务并实现远程访问本地数据
  • 免费分享一套微信小程序外卖跑腿点餐(订餐)系统(uni-app+SpringBoot后端+Vue管理端技术实现) ,帅呆了~~
  • 后端学习:数据库MySQL学习