数据库去重有几种方法_数据库去重有几种方法

数据库去重有几种方法_数据库去重有几种方法MySQL数据库去重的方法​数据库最近有很多重复的数据,数据量还有点大,本想着用代码解决,后来发现用SQL就能解决,这里记录一下看这条SQLDELETEconsum_recordFROMconsum_record,(SELECTmin(id)id,user_id,monetary,consume_timeFROMconsum_recordGROUPBYuser_id,monetary,co…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

MySQL数据库去重的方法

​ 数据库最近有很多重复的数据,数据量还有点大,本想着用代码解决,后来发现用SQL就能解决,这里记录一下

看这条SQL

DELETE consum_record

FROM

consum_record,

(

SELECT

min(id) id,

user_id,

monetary,

consume_time

FROM

consum_record

GROUP BY

user_id,

monetary,

consume_time

HAVING

count(*) > 1

) t2

WHERE

consum_record.user_id = t2.user_id

AND consum_record.monetary = t2.monetary

AND consum_record.consume_time = t2.consume_time

AND consum_record.id > t2.id;

首先是将重复的记录查出来另存到一个集合(临时表t2), 集合里是每种重复记录的最小ID

consum_record.user_id = t2.user_id

AND consum_record.monetary = t2.monetary

AND consum_record.consume_time = t2.consume_time

AND consum_record.id > t2.id

这些关联是判断重复基准的字段

根据条件,删除原表中id大于t2中id的记录

到这里欢呼一句 SQL大法好

还是要多学习啊!SQL也不能拖后腿

但是在处理完成之后,数据库中的主键id不是连续的了,强迫症犯了

下面是解决办法:

​ 我这边处理方式是:先删除主键id字段,然后再重新生成主键id字段

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187010.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java复习快速导航

    java复习快速导航1.java基础java基础必背知识点java基础加强知识点javaweb1(mysql、HTML、js、xml)javaweb2(tomcat、cookie、el、filter)javaweb3(jquery、ajax、json、redis)maven2.java提高redisdubbo并发JUC阻塞队列、线程池NIOnetty数据库rabbi…………

    2022年7月20日
    11
  • Redis主从复制原理以及常见问题

    相信很多小伙伴都已经配置过主从复制,但是对于redis主从复制的工作流程和常见问题很多都没有深入的了解。咔咔这次用时俩天时间给大家整理一份redis主从复制的全部知识点。主从复制(一)什么是redis主从复制?(二)为什么需要redis主从复制?(三)主从复制的作用(一)什么是redis主从复制?主从复制就是现在有俩台redis服务器,把一台redis的数据同步到另一台redis数据库上。前者称之为主节点(master),后者为从节点(slave)。数据是只能master往slave同步单向。但.

    2022年4月8日
    57
  • Javascript:谈谈JS的全局变量跟局部变量

    Javascript:谈谈JS的全局变量跟局部变量今天公司一个实习小妹子问我两段JS代码的区别:vara=”Hello”;functiontest(){vara;alert(a);a=”World”;alert(a);}vara=”Hello”;functiontest(){alert(a);a=

    2022年6月14日
    76
  • qt实现视频播放器

    qt实现视频播放器本篇博客介绍如何利用qMediaPlayer和qvideowidget实现视频文件(avi,mp4….)的播放,并且提供进度显示,还可以通过拖动进度条来变换播放位置。相关代码可以在我的资源里下载"基于qt的视频播放器"pro文件:#————————————————-##ProjectcreatedbyQtCr…

    2022年6月6日
    40
  • javaCV开发详解之2:推流器和录制器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV、FFMPEG和openCV)「建议收藏」

    javaCV开发详解之2:推流器和录制器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV、FFMPEG和openCV)「建议收藏」javaCV系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作…

    2022年6月6日
    72
  • Python-正则匹配

    Python-正则匹配一、匹配单个字符:1、数字匹配\d表示匹配任意数字In[16]:ret=re.match(r"速度与激情\d","速度与激情1")In[17]

    2022年7月2日
    23

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号